A modern web application for tracking personal finances, built with Next.js, Prisma, and TypeScript.
-
💰 Transaction Management
- Track income and expenses
- Categorize transactions
- Add descriptions and dates
- Edit or delete transactions
-
🔄 Recurring Payments
- Set up automatic recurring transactions
- Support for daily, weekly, monthly, and yearly frequencies
- Track recurring income and expenses
-
📊 Financial Reports
- Year-over-year analysis
- Monthly trend charts
- Category-wise breakdowns
- Income and expense distribution
- Savings rate calculation
-
💾 Data Management
- Backup your financial data
- Restore from backup files
- Safe transaction handling
-
🎨 Modern UI/UX
- Responsive design
- Dark mode support
- Interactive charts
- Clean and intuitive interface
- Framework: Next.js 14 with App Router
- Language: TypeScript
- Database: Postgress with Prisma ORM
- UI Components: shadcn/ui
- Styling: Tailwind CSS
- Charts: Recharts
- Icons: Lucide Icons
- Package Manager: pnpm
- Node.js 18 or later
- pnpm (recommended) or npm
-
Clone the repository:
git clone https://github.com/dfanso/cashflow.git cd cashflow
-
Install dependencies:
pnpm install
-
Set up the database:
pnpm prisma generate pnpm prisma db push pnpm prisma db seed
-
Start the development server:
pnpm dev
-
Open http://localhost:3000 in your browser.
- Navigate to the Reports page
- Click the "Backup" button
- Save the generated JSON file
- Navigate to the Reports page
- Click "Restore"
- Select your backup JSON file
- Confirm the restore operation
cashflow/
├── prisma/ # Database schema and migrations
├── public/ # Static files
├── src/
│ ├── app/ # Next.js app router pages
│ ├── components/ # React components
│ ├── lib/ # Utility functions and shared logic
│ └── styles/ # Global styles
├── .env # Environment variables
└── package.json # Project dependencies
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.