Visão Geral
O Sistema Bancário é uma aplicação que permite a interação entre empresas e clientes, possibilitando depósitos e saques. O sistema incorpora lógica de taxa de transação.
O projeto consiste na criação de um sistema financeiro com Java, banco de dados H2 e Spring Boot. Haverá dois tipos de usuários: Empresa (identificada por CNPJ) e Cliente (identificado por CPF). A validação de documentos será implementada para garantir integridade.
O sistema seguirá a arquitetura MVC do Spring Boot, com APIs RESTful para comunicação. Empresas terão taxas de sistema em transações. A persistência será gerenciada pelo H2 com Spring Data JPA.
O saldo das Empresas será calculado com depósitos e saques, descontando taxas automaticamente. Clientes poderão realizar transações através das Empresas, sujeitas a saldos. A escolha dessas tecnologias visa uma implementação eficiente, segura e de fácil manutenção para atender às necessidades financeiras de Empresas e Clientes.
Dificuldades
Ao conduzir este projeto, identifiquei lacunas em meu conhecimento que impactaram certos aspectos da implementação. Entre as áreas em que enfrentei desafios, destaca-se a habilidade de implementar callbacks de forma eficaz. A falta de familiaridade com os mecanismos apropriados para gerenciar essas chamadas assíncronas limitou a dinâmica de interação entre os diferentes componentes do sistema.
Além disso, a estruturação do código foi afetada pela falta de expertise em certos padrões de design e boas práticas de arquitetura de software. A busca por uma organização mais eficiente e modular esbarrou em limitações decorrentes dessa lacuna de conhecimento.
A ausência de familiaridade com determinadas técnicas e algoritmos específicos também impactou a implementação de lógica mais sofisticada para otimizar certos processos no sistema. Esta falta de profundidade técnica influenciou diretamente na eficiência e no desempenho geral da aplicação.
Reconheço a importância de preencher essas lacunas por meio de um processo contínuo de aprendizado, buscando aprimorar minhas habilidades técnicas para enfrentar desafios futuros de maneira mais assertiva e eficiente.