Source Code Only
Full ZIP with frontend, backend, database & documentation.
- Complete project source files
- Database script included
- How-to-run guide
No live demo yet — message us for access
Our team shares demo access on WhatsApp within minutes
Complete final-year project source code with frontend, backend, database, and setup guide. Instant download after secure payment.
Choose your plan
Full ZIP with frontend, backend, database & documentation.
We install & configure the project on your laptop within 24 hours.
Review features, setup steps, and credentials before you pay.
Description, tech stack, and what is included
Expense Management System is a full-stack MERN application designed for tracking personal expenses, shared expenses, budgets, categories, receipts, group splits, and financial activity. The system includes a user portal for managing day-to-day expenses and a dedicated Admin Console for managing users, expenses, receipts, groups, categories, budgets, verification views, and reports.
Users can register with email OTP verification, log in securely, create and manage expenses, upload receipt images, organize expenses by category, track monthly and category-level budgets, generate spending reports, create groups, manage members, split group expenses, view balances, and receive in-app notifications. The system also supports forgot password and reset password using OTP, making it suitable for real-world academic demonstration.
The Admin Console allows administrators to view platform-wide analytics, manage users, audit all expenses, review receipts, manage groups, maintain global categories, delete budgets where required, and access verification/reporting views. This project is suitable for B.Tech, M.Tech, BCA, MCA, BE, ME, BSc, and MSc students who need a practical final year project, major project, or minor project based on personal finance tracking, expense management, group expense splitting, MERN stack development, JWT authentication, MongoDB database design, and admin dashboard functionality. FileMakr can provide this project with source code, project report, documentation, and setup support for academic submission.
Modules and controls available to administrators
What end users can do in this application
Additional capabilities included in the project
| Layer | Technology |
|---|---|
| Frontend | React with Vite |
| Routing | React Router |
| Styling | Tailwind CSS v4 |
| Backend | Node.js, Express.js |
| Database | MongoDB |
| ODM | Mongoose |
| Authentication | JWT, bcrypt |
| Validation | express-validator |
| File Upload | Multer |
| Email / OTP | Nodemailer SMTP |
| Runtime | Node.js |
| Upload Storage | Server uploads folder |
Step-by-step setup on your laptop or PC
Copy the server environment template:
copy server\.env.example server\.env
For macOS/Linux:
cp server/.env.example server/.env
Open server/.env and update the required values:
PORT=5000
MONGODB_URI=mongodb://127.0.0.1:27017/expense-management-system
JWT_SECRET=your_long_random_secret
JWT_EXPIRES_IN=7d
CLIENT_URL=http://localhost:5173
SMTP_HOST=your_smtp_host
SMTP_PORT=587
SMTP_USER=your_smtp_email
SMTP_PASS=your_smtp_app_password
[email protected]
ADMIN_PASSWORD=Admin@123
SMTP configuration is optional for development. If Gmail SMTP is used, an app password should be used instead of the normal Gmail password.
From the project root:
npm run install:all
Or install server and client separately:
cd server && npm install
cd ../client && npm install
Make sure MongoDB is running locally or update MONGODB_URI with a valid MongoDB Atlas connection string.
From the project root:
npm run seed
The seed command creates the admin user, default categories, demo users, sample expenses, budgets, and a group with split expense.
From the project root:
npm run dev:server
Or from the server folder:
npm run dev
Default API URL:
http://localhost:5000
From the project root:
npm run dev:client
Or from the client folder:
npm run dev
Default frontend URL:
http://localhost:5173
For server:
cd server && npm start
For client:
cd client && npm run build
The production build output is generated in:
client/dist
| Area | URL |
|---|---|
| Frontend | http://localhost:5173 |
| Backend API | http://localhost:5000 |
| User Login | Based on client routes |
| User Dashboard | Based on client routes |
| Admin Console | /admin/... |
| API Base | /api |
| Receipt Uploads | server/uploads |
Default demo accounts for testing after setup
These credentials apply after running npm run seed, unless admin values are overridden in server/.env.
| Role | Password | |
|---|---|---|
| Administrator | [email protected] |
Admin@123 |
| Role | Password | |
|---|---|---|
| Demo User | [email protected] |
Demo@123 |
| Demo User | [email protected] |
Demo@123 |
| Demo User | [email protected] |
Demo@123 |
Security note: Change all default passwords before any public or production deployment.
Usage terms for academic and personal projects
Search terms and categories for this source code