View Design Documentation for detailed information about the system architecture and scoring logic.
A secure backend system for personal finance management with budgeting analytics and behavioral scoring.
- User authentication with JWT
- Expense tracking with categories
- Monthly budget management
- Behavioral scoring system
- Notification system
- Transaction ledger with reversal capability
- OTP-based email verification
- Role-based access control (User/Admin)
- Audit logging for security events
- Node.js with Express
- Prisma ORM
- PostgreSQL
- JWT for authentication
- TypeScript
- Docker Desktop
- Node.js 18+
- PostgreSQL 15
-
Clone the repository
git clone https://github.com/your-username/finance-tracker-prisma.git cd finance-tracker-prisma -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env # Edit .env with your credentials -
Run database migrations
Start PostgreSQL container
docker-compose up -d postgres
Run db setup (generate, migrate, seed)
npm run db:setup
-
Start the development server
npm run dev
-
Run prisma studio to see database data
npm run db:studio
/
├── prisma/ # Database schema and migrations
├── src/ # Application source code
│ ├── controllers/ # Route handlers
│ ├── services/ # Business logic
│ ├── models/ # Data models
│ └── app.ts # Main application entry
├── docker/ # Docker configurations
└── .env.example # Environment templatenpm run dev # Start development server with nodemon
npm run start # Start production server
npm run build # Build TypeScript to JavaScript
-feat: add new feature
-fix: bug fix
-docs: documentation changes
-style: code formatting
-refactor: code restructuring
-test: adding tests
-chore: maintenance tasks