FinEase is a personal finance management web application that helps users manage their income, expenses, and savings goals efficiently. It allows users to record transactions, set monthly budgets, and view insightful financial summaries with charts and reports.
This project demonstrates CRUD operations, authentication, backend integration, and data visualization β ideal for showcasing full-stack development skills.
FinEase is designed to help individuals track and manage their personal finances in a simple and organized way. Users can record income and expense transactions, monitor their financial balance, and visualize spending patterns through interactive charts.
The platform provides secure authentication, private routes for personal financial data, and powerful data visualization tools to help users understand their financial habits and make better financial decisions.
- Live Website: https://b12-m11-session-aa418.web.app
- Client Repository: https://github.com/Fahmida0010/FinEase-client.git
- Server Repository: https://github.com/Fahmida0010/FinEase-Server.git
- User Authentication: Email/password & Google login via Firebase
- Transaction Management (CRUD): Add, update, delete, and view personal transactions
- Reports with Charts: Visualize income & expenses using Pie and Bar charts
- Light/Dark Mode: Switch between light and dark themes
- SweetAlert Notifications: Modern popups for success/error messages
- Responsive Design: Fully optimized for desktop, tablet, and mobile
- Custom 404 Page: Friendly βNot Foundβ page for invalid routes
-
Motivational banner section
-
Overview of total income, expense, and balance (from database)
-
Two static sections:
- Budgeting Tips
- Why Financial Planning Matters
- Signup: Name, Email, Password, PhotoURL
- Login: Email/Password & Google Login
Password validation rules:
- At least one uppercase and lowercase letter
- Minimum length: 6 characters
All messages shown via SweetAlert (no default alerts)
Accessible only to logged-in users:
/add-transaction/my-transactions/transaction/:id/transaction/update/:id/reports/profile
- Fields: Type, Category, Amount, Description, Date, User Email & Name
- Stores data in MongoDB
- Shows success message after submission
- Pre-filled form with existing data
- Updates instantly after saving
- SweetAlert confirmation before deletion
- Instantly updates UI after removing
- Full details including Type, Category, Amount, and Date
- Displays total amount per category
- Displays income & expense summary using Recharts
- Supports filtering by month
- Pie Chart (by category) and Bar Chart (monthly totals)
- Displays name, photo, and email
- Allows profile updates
- React (Vite)
- React Router
- Tailwind CSS
- SweetAlert2
- Recharts
- Firebase Authentication
- Node.js
- Express.js
- MongoDB
- Firebase Admin SDK (Authorization)
- react
- react-router-dom
- firebase
- tailwindcss
- sweetalert2
- recharts
- axios
- express
- cors
- dotenv
- mongodb
- firebase-admin
- jsonwebtoken
git clone https://github.com/Fahmida0010/FinEase-client.gitgit clone https://github.com/Fahmida0010/FinEase-Server.gitcd FinEase-clientnpm installnpm run devClient will run on:
http://localhost:5173
Open a new terminal and run:
cd FinEase-Servernpm installCreate a .env file and add:
MONGODB_URI=your_mongodb_connection_string
FIREBASE_ADMIN_KEY=your_firebase_admin_key
JWT_SECRET=your_secret_key
node index.jsServer will run on:
http://localhost:3000
{
"type": "expense",
"category": "home",
"amount": 1000,
"description": "house rent",
"date": "2025-01-15T00:00:00.000Z",
"email": "xyz@gmail.com",
"name": "Hero"
}Contributions are always welcome!
If you'd like to improve FinEase, feel free to fork this repository, create a new branch, and submit a pull request.
You can contribute by:
- β¨ Adding new features and functionalities
- π¨ Improving UI/UX and responsiveness
- π Fixing bugs and performance issues
- π Enhancing financial reports and data visualization
- π Improving security and authentication flows
- π Updating documentation and code quality
- Fork the repository
- Create a feature branch
git checkout -b feature/your-feature-name- Commit your changes
git commit -m "Add: your feature description"- Push to your fork
git push origin feature/your-feature-name- Open a Pull Request
Every contribution, no matter how small, helps make FinEase better. Thank you for your support and happy coding! π
Thank you for taking the time to explore FinEase.
I hope this project gives you a clear idea of my full-stack development skills and passion for building practical, user-friendly web applications.
If you found this project helpful or interesting, feel free to β the repository, fork it, and contribute to its future improvements.
Your support, feedback, and contributions are greatly appreciated.
Happy Coding! π