Skip to content
IsaacLira42Public

About

🚧 EM DESENVOLVIMENTO 🚧 | O LiraBank é uma simulação de banco digital desenvolvida para demonstrar o domínio de uma stack moderna, focando em escalabilidade, segurança e integridade de dados.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏦 LiraBank - Full-Stack Banking Experience

O LiraBank é uma simulação de banco digital desenvolvida para demonstrar o domínio de uma stack moderna, focando em escalabilidade, segurança e integridade de dados.


🛠️ Stack Tecnológica

Backend

Frontend

DevOps


🚀 Diferenciais de Engenharia

  • Atomicidade nas Transações: Garantia de que transferĂŞncias (dĂ©bito e crĂ©dito) ocorram de forma atĂ´mica ou falhem completamente, evitando inconsistĂŞncias de saldo.
  • End-to-End Type Safety: Uso rigoroso de TypeScript para consistĂŞncia entre banco de dados e interface.
  • Validação de Camada: Esquemas de dados validados com Zod, blindando a API contra payloads malformados.
  • Arquitetura em Camadas: Organização em Controllers, Services e Repositories para facilitar a testabilidade.

🎯 Status do Projeto (Kanban)

âś… ConcluĂ­do (MVP)

  • Autenticação: Sistema de Login/Cadastro com JWT e armazenamento de senhas com bcrypt.
  • Segurança de Rotas: Middleware de autenticação para proteção de endpoints privados.
  • Core Bancário: Abertura automática de conta com saldo inicial zero vinculada ao usuário.

đźš§ Em Desenvolvimento (PrĂłximos Passos)

  • Operações Financeiras: Implementação de DepĂłsito, Saque e TransferĂŞncias entre contas.
  • ResiliĂŞncia: Garantia de que falhas em transações nĂŁo alterem saldos (Rollback).
  • Observabilidade: Documentação interativa via Swagger.
  • Infraestrutura: Orquestração total do ambiente via Docker Compose.

đź“‚ Estrutura de Pastas

LiraBank/
├── backend/            # API RESTful (PostgreSQL + Prisma)
│   ├── prisma/         # Schema e Migrations
│   ├── src/
│   │   ├── controllers/# Validação de entrada e resposta HTTP
│   │   ├── services/   # Regras de negócio e lógica bancária
│   │   └── repositories/# Interface de comunicação com o banco
├── frontend/           # Interface SPA (React)
│   ├── src/
│   │   ├── components/ # UI Atoms & Molecules (shadcn/ui)
│   │   └── pages/      # Views e contextos de estado


⚙️ Como Executar

  1. Backend:
cd backend
npm install
cp .env.example .env
npx prisma migrate dev
npm run dev
  1. Frontend:
cd frontend
npm install
npm run dev

🛡️ Regras de Negócio Implementadas/Planejadas

  1. Isolamento: Um usuário jamais pode visualizar ou movimentar o saldo de terceiros.
  2. Validação de Saldo: Saques e transferências são impedidos caso o saldo disponível seja insuficiente.
  3. Logs de Transação: Registro obrigatório de data, tipo e valor para cada movimentação.

👤 Autor

Isaac Lira
Desenvolvedor Full Stack | TypeScript Enthusiast

GitHub LinkedIn Gmail

About

🚧 EM DESENVOLVIMENTO 🚧 | O LiraBank é uma simulação de banco digital desenvolvida para demonstrar o domínio de uma stack moderna, focando em escalabilidade, segurança e integridade de dados.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages