Aplicação de simulação bancária para gerenciamento de transações financeiras, focada no aprendizado de conceitos de autenticação e uso do Supabase como backend. A interface permite ao usuário consultar o extrato com histórico de transações, e realizar novas transações de forma prática e intuitiva.
A aplicação permite:
- Cadastrar novos usuários com autenticação via Supabase.
- Cadastrar transações bancárias.
- Visualizar o histórico de transações por tipo e valor.
As principais tecnologias e técnicas aplicadas no projeto são:
- Supabase: Backend para autenticação e armazenamento dos dados de usuários e transações.
- React com TypeScript: Criação da interface de usuário e lógica do aplicativo.
- React Context API: Gerenciamento de estados globais para autenticação.
- React Router: Navegação entre as diferentes páginas da aplicação.
- Hooks personalizados: Implementação de lógica reutilizável e controle de autenticação.
Este projeto aplica princípios de Arquitetura Limpa para promover uma estrutura modular, escalável e fácil de manter. Abaixo estão alguns dos conceitos utilizados para organizar a lógica de negócios, a manipulação de dados e a interface de forma coesa e adaptável:
- Separação de camadas: organiza o projeto em camadas distintas para facilitar a manutenção e entendimento do fluxo.
- Injeção de dependências: uso de interfaces para definir contratos entre camadas, permitindo trocas de tecnologias sem modificar a lógica central.
- Use Cases: cada caso de uso encapsula uma ação específica, mantendo a lógica de negócios isolada e coesa.
- Entidades e modelos de domínio: entidades como
IUser
eITransaction
representam dados centrais com regras específicas. - Camada de infraestrutura separada: acesso a dados e integração com o Supabase são isolados, preservando a lógica de negócio.
Você pode acessar o código fonte do projeto inicial ou baixá-lo.
Para rodar o projeto localmente, siga os passos:
-
Instale as dependências do projeto:
npm install
-
Configure o Supabase e crie um arquivo
.env.local
com as chaves de acesso:SUPABASE_URL=your_supabase_url SUPABASE_KEY=your_supabase_key
-
Execute o projeto:
npm run dev
Agora você pode acessar a aplicação em http://localhost:5173/
.
Interessado em aprender mais? Confira o curso completo para desenvolver esta aplicação e entender os conceitos de forma prática!