Plataforma completa de gestao financeira pessoal com dashboard interativo, gerenciamento de contas, transacoes, cartoes de credito e orcamentos.
- Framework: Next.js 14 (App Router)
- Language: TypeScript (strict mode)
- Styling: Tailwind CSS v3 + shadcn/ui (Radix UI)
- Database: Supabase (PostgreSQL)
- ORM: Prisma 5
- Validation: Zod v4
- Charts: Recharts
- Auth: Supabase Auth (email/password + OAuth)
- Testing: Vitest + Playwright
- Dashboard com metricas financeiras e graficos interativos
- Gerenciamento de contas bancarias (corrente, poupanca, investimento, credito)
- Registro e historico de transacoes com paginacao cursor-based
- Controle de cartoes de credito com visualizacao de limite
- Orcamentos mensais por categoria com acompanhamento de gastos
- Sistema de notificacoes
- Tema claro/escuro
- Layout responsivo com sidebar
- Rate limiting nas API routes
- Row Level Security (RLS) no Supabase
src/
├── app/ # Next.js App Router (pages, layouts, API routes)
│ ├── (auth)/ # Login and register pages
│ ├── (dashboard)/ # Protected dashboard pages
│ ├── api/ # REST API routes
│ └── actions/ # Server actions
├── components/ # React components
│ └── ui/ # shadcn/ui components (Radix UI)
├── hooks/ # Custom React hooks
├── lib/ # Core libraries (Prisma, Supabase, utils)
├── repositories/ # Data access layer (Repository pattern)
├── schemas/ # Zod validation schemas
├── services/ # Business logic layer
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── tests/ # Unit tests
- Node.js 20+
- Supabase project
- Clone the repository:
git clone https://github.com/Lucass-devjr/FinBank.git
cd FinBank- Install dependencies:
npm install- Configure environment variables:
cp .env.example .env.local-
Update
.env.localwith your Supabase credentials. -
Run the SQL migration in Supabase SQL Editor:
supabase/migrations/001_initial_schema.sql
- Generate Prisma client:
npx prisma generate- Start development server:
npm run dev| Command | Description |
|---|---|
npm run dev |
Start development server |
npm run build |
Build for production |
npm run lint |
Run ESLint |
npm run typecheck |
Run TypeScript type checking |
npm run test |
Run unit tests |
npm run test:coverage |
Run tests with coverage |
npm run test:e2e |
Run Playwright E2E tests |
npm run format |
Format code with Prettier |
MIT