Skip to content

Repository files navigation

Personal Finance Tracker API

View Design Documentation for detailed information about the system architecture and scoring logic.

Node.js PostgreSQL Prisma

A secure backend system for personal finance management with budgeting analytics and behavioral scoring.

Features

  • 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

Technologies

  • Node.js with Express
  • Prisma ORM
  • PostgreSQL
  • JWT for authentication
  • TypeScript

Setup

Prerequisites

  • Docker Desktop
  • Node.js 18+
  • PostgreSQL 15
  1. Clone the repository

    git clone https://github.com/your-username/finance-tracker-prisma.git
    cd finance-tracker-prisma
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env
    # Edit .env with your credentials
  4. Run database migrations

    Start PostgreSQL container

    docker-compose up -d postgres

    Run db setup (generate, migrate, seed)

    npm run db:setup
  5. Start the development server

    npm run dev
  6. Run prisma studio to see database data

    npm run db:studio

Project Structure

/
├── 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 template

Development

npm run dev # Start development server with nodemon
npm run start # Start production server
npm run build # Build TypeScript to JavaScript

commit messages

-feat: add new feature
-fix: bug fix
-docs: documentation changes
-style: code formatting
-refactor: code restructuring
-test: adding tests
-chore: maintenance tasks

About

A secure backend system for personal finance management with budgeting analytics and behavioral scoring.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages