A modern web application for tracking personal finances, built with Next.js, MongoDB, and Tailwind CSS.
- 💰 Track income and expenses
- 📊 Visual data representation with charts
- 📱 Responsive design that works on all devices
- 🗃️ Category-based transaction organization
- 📈 Monthly financial overview
- 🔍 Transaction history with search and filter
- 💾 Persistent data storage with MongoDB
-
Frontend:
- Next.js - React framework for production
- Tailwind CSS - Utility-first CSS framework
- Recharts - Composable charting library
-
Backend:
-
Deployment:
- Vercel - Platform for frontend deployment
- MongoDB Atlas - Cloud database service
- Node.js 14.0 or later
- MongoDB Atlas account or local MongoDB installation
- Git
- Clone the repository:
git clone https://github.com/vikasyadav01234/personal-finance-tracker.git
cd personal-finance-tracker
- Install dependencies:
npm install
- Create a
.env
file in the root directory:
MONGODB_URI=your_mongodb_connection_string
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser
MONGODB_URI
: Your MongoDB connection string
personal-finance-tracker/
├── components/ # React components
│ ├── Dashboard.js # Dashboard with charts
│ ├── TransactionForm.js # Form for adding/editing transactions
│ └── TransactionList.js # List of transactions
├── lib/
│ └── mongodb.js # MongoDB connection utility
├── models/
│ └── Transaction.js # Mongoose model for transactions
├── pages/
│ ├── api/ # API routes
│ │ └── transactions/
│ │ ├── index.js
│ │ └── [id].js
│ ├── _app.js
│ └── index.js # Main page
├── public/ # Static files
└── styles/ # Global styles
GET /api/transactions
- Get all transactionsPOST /api/transactions
- Create a new transactionPUT /api/transactions/:id
- Update a transactionDELETE /api/transactions/:id
- Delete a transaction
This project is deployed on Vercel. To deploy your own instance:
- Push your code to GitHub
- Import your repository to Vercel
- Add your environment variables
- Deploy!
- 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
Vikas Yadav
- GitHub: @vikasyadav01234
If you found this project helpful, please give it a ⭐️!
Created by Vikas Yadav - 2024