Full-stack fintech app with wallet auth, bank linking, transactions, budgets, insights, AI coach with function calling, loan scoring, and admin dashboard.
- Frontend: React + Vite + Tailwind + Tremor
- Backend: Node.js + Express + Prisma
- Database: SQLite (file-based)
- Auth: Web3 wallet (EVM + Solana)
- AI: OpenAI API (optional, for coach)
cp .env.example .env
# Edit .env: JWT_SECRET, optional OPENAI_API_KEY for AI coachnpm install
npm run db:push
npm run db:seednpm run devOpens API at http://localhost:3001 and frontend at http://localhost:5173.
- Auth: Connect Ethereum (MetaMask, Coinbase) or Solana (Phantom, Solflare)
- Bank linking: Mock Plaid (swap for real Plaid in prod)
- Transactions: Storage, categorization, sync
- Budgets: Create and track spending limits
- Insights: Monthly spending, charts, trends
- AI Coach: Chat + function calling (balance, budgets, spending, transactions) — set
OPENAI_API_KEY - Loan Score: Micro-loan eligibility from finances
- Admin: Users, loans, risk scores, audit logs
- Theme: Light/dark mode
├── server/
│ ├── prisma/
│ │ ├── schema.prisma
│ │ └── seed.ts
│ └── src/
│ ├── config/
│ ├── loan-scoring/
│ ├── middleware/
│ ├── routes/
│ └── services/
├── src/
│ ├── components/
│ ├── context/
│ ├── pages/
│ └── services/
└── vite.config.ts
| Command | Description |
|---|---|
npm run dev |
API + frontend (concurrent) |
npm run build |
Build for production |
npm run db:push |
Sync Prisma schema to DB |
npm run db:seed |
Seed demo data |
npm run db:studio |
Prisma Studio |