A personal finance management application that helps you track income, expenses, and budget allocation using the 50/30/20 budgeting rule.
- Dashboard - Overview of monthly spending, budget status, and recent transactions
- Income Tracking - Manage income sources with multiple currencies and frequencies
- Transaction Management - Track expenses categorized as Needs, Wants, or Savings
- Credit Card Management - Monitor credit cards and their billing cycles
- Budget Rules - Configure custom budget allocation percentages
- Categories - Create custom categories with icons and colors
- Dark/Light Mode - Theme support with system preference detection
Frontend:
- React 19 + TypeScript
- Vite
- Tailwind CSS
- Shadcn + Radix UI
- TanStack React Query
Backend:
- Node.js + Express
- SQLite
- Knex.js
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository
git clone https://github.com/rishikesh-suvarna/vitta.git cd vitta -
Install server dependencies
cd server npm install -
Run database migrations
npm run migrate
-
Seed the database (optional)
npm run seed
-
Start the server
npm run dev
-
Install client dependencies (in a new terminal)
cd client npm install -
Start the client
npm run dev
The client will be available at http://localhost:5173 and the server at http://localhost:3000.
vitta/
├── client/ # React frontend
│ ├── src/
│ │ ├── pages/ # Page components
│ │ ├── components/ # Reusable UI components
│ │ ├── hooks/ # React Query hooks
│ │ └── types/ # TypeScript definitions
│ └── ...
└── server/ # Express backend
├── src/
│ ├── routes/api/ # API endpoints
│ └── lib/db/ # Database config & migrations
└── ...
MIT
