ExpenseFlow is a modern, responsive expense tracking web application designed to help users manage their finances efficiently.
With a clean, elegant dark-themed UI and smart features like analytics, goals, and an AI-powered chatbot, ExpenseFlow makes money management simple and intuitive.
ExpenseFlow is a modern and responsive full-stack expense tracking web application designed to help users manage their finances efficiently.
With a clean and elegant dark-themed UI, it allows users to monitor spending, analyze balance, and achieve their financial goals effortlessly.
The application features a robust Node.js/Express backend with MongoDB database, real-time synchronization, advanced analytics, and comprehensive security measures.
- π Live Demo
- π Backend Documentation
- ποΈ Database Documentation
- π‘οΈ Setup & Security
- βοΈ Getting Started
- π Report a Bug
- β¨ Request a Feature
- π Smart Dashboard β Displays total balance, income, expenses, and recent activity
- π° Expense & Income Management β Add, edit, or delete transactions easily
- π― Goal Tracking β Set financial goals and monitor progress visually
- π Analytics View β Understand spending patterns through insights
- π€ Finance Chatbot β Get instant help, tips, and app guidance
- π Dark Mode UI β Sleek, eye-friendly dark-themed interface
- βοΈ Responsive Design β Works seamlessly on desktop and mobile
- π PWA Ready β Offline access using service workers and manifest
- π Smart Dashboard β Displays total balance, spending trends, and updates.
- π° Expense & Income Management β Add, edit, or remove transactions easily.
- π― Goal Tracking β Set saving targets and measure progress.
- π Analytics View β Track your financial health visually.
- π Dark Mode UI β Sleek and eye-comfortable dark theme.
- βοΈ Responsive Design β Optimized for desktop and mobile devices.
- π PWA Ready β Manifest and service worker support for offline usage.
- π Real-time Sync β Cross-device synchronization with Socket.IO β
- π± Multi-currency Support β Automatic currency conversion and exchange rates β
- π± Receipt Management β OCR-powered receipt scanning and storage β
- π Smart Notifications β Budget alerts, goal reminders, and security notifications β
- π€ AI Categorization β Machine learning-powered expense categorization β
- π Advanced Analytics β Detailed spending insights and trends β
- π Security First β Rate limiting, input sanitization, and security monitoring β
- π€ Data Export β Export financial data in multiple formats β
- π₯ Group Expense Management β Create groups and manage shared expenses β
- πΈ Expense Splitting β Split expenses among group members with payment tracking β
ExpenseFlow is a frontend-focused expense tracker built using HTML, CSS, and JavaScript.
It is ideal for beginners and intermediate developers who want hands-on experience building real-world, data-driven web applications.
The project emphasizes:
- User-centric UI/UX design
- Financial data visualization
- Clean and scalable project structure
- Easy future backend integration
ExpenseFlow includes an interactive chatbot to enhance user experience and accessibility.
- π§ Guide users on how to use the app
- π¬ Answer common finance-related questions
- π Explain dashboard data and features
- π― Help users understand goal tracking
- β Provide instant assistance without leaving the page
The chatbot improves usability by acting as a virtual finance assistant, making ExpenseFlow more beginner-friendly and engaging. ExpenseFlow is a comprehensive full-stack expense tracking application built with modern web technologies. It combines a responsive frontend with a powerful backend API, providing users with a complete financial management solution.
- Frontend: HTML5, CSS3, JavaScript (Vanilla JS) with PWA capabilities
- Backend: Node.js/Express.js with RESTful API design
- Database: MongoDB with Mongoose ODM
- Real-time: Socket.IO for live synchronization
- Security: Helmet, rate limiting, input sanitization, and monitoring
- File Storage: Cloudinary integration for receipt uploads
- Notifications: Multi-channel notification system (email, push, SMS)
The app emphasizes:
- User-centered design
- Visual representation of financial data
- Scalable architecture for future enhancements
- Security and performance optimization
- Cross-platform compatibility
ExpenseFlow is designed to simplify personal finance management by providing a clean, intuitive, and distraction-free interface. It helps users track expenses and income efficiently while gaining better visibility into their spending habits.
Whether you are a student, beginner, or someone learning frontend development, ExpenseFlow serves as:
- A practical tool for daily expense tracking
- A beginner-friendly project to understand real-world UI logic
- A scalable base for adding backend, authentication, and analytics features
By using ExpenseFlow, users can build financial awareness while developers can strengthen their frontend and project-structuring skills.
- Expense tracking & splitting
- Budget goals
- AI-based categorization
- Email notifications
- Real-time sync
- Receipt management
| Category | Technology Used |
|---|---|
| Frontend | HTML5, CSS3, JavaScript (Vanilla JS) |
| Backend | Node.js, Express.js |
| Database | MongoDB with Mongoose ODM |
| Real-time | Socket.IO |
| Authentication | JWT (JSON Web Tokens) |
| File Storage | Cloudinary |
| Security | Helmet, Rate Limiting, Input Sanitization |
| OCR | Tesseract.js |
| Nodemailer | |
| Styling | Tailwind CSS / Custom CSS |
| Version Control | Git, GitHub |
| Deployment | GitHub Pages |
| PWA Support | manifest.json, service worker |
| Deployment | Vercel (Frontend), Railway/Heroku (Backend) |
| PWA Support | manifest.json, sw.js |
ExpenseFlow/
β
βββ public/ # Frontend static files
β βββ index.html # Main HTML layout (Homepage)
β βββ expensetracker.css # Styling and UI components
β βββ trackerscript.js # Core JavaScript functionality
β βββ manifest.json # PWA manifest
β βββ sw.js # Service Worker for offline caching
β βββ sw-notifications.js # Push notification service worker
β βββ AboutUs.html # About page
β βββ PrivacyPolicy.html # Privacy policy page
β βββ terms_service.html # Terms of service
β βββ finance-tips.html # Financial tips page
β
βββ models/ # MongoDB data models
β βββ User.js
β βββ Expense.js
β βββ Budget.js
β βββ Goal.js
β βββ Receipt.js
β βββ Notification.js
β βββ CurrencyRate.js
β βββ SyncQueue.js
β βββ CategoryPattern.js
β βββ AnalyticsCache.js
β βββ MerchantDatabase.js
β βββ RecurringExpense.js
β
βββ routes/ # API route handlers
β βββ auth.js
β βββ expenses.js
β βββ budgets.js
β βββ goals.js
β βββ receipts.js
β βββ notifications.js
β βββ analytics.js
β βββ currency.js
β βββ export.js
β βββ groups.js
β βββ splits.js
β βββ recurring.js
β βββ sync.js
β
βββ middleware/ # Express middleware
β βββ auth.js
β βββ rateLimit.js
β βββ rateLimiter.js
β βββ sanitization.js
β βββ socketAuth.js
β βββ uploadMiddleware.js
β βββ analyticsValidator.js
β βββ categorizationValidator.js
β βββ recurringValidator.js
β βββ securityMonitor.js
β
βββ services/ # Business logic services
β βββ analyticsService.js
β βββ budgetService.js
β βββ categorizationService.js
β βββ currencyService.js
β βββ emailService.js
β βββ exportService.js
β βββ fileUploadService.js
β βββ notificationService.js
β βββ recurringService.js
β βββ securityMonitor.js
β βββ cronJobs.js
β
βββ server.js # Main server entry point
βββ package.json # Node.js dependencies
βββ .env.example # Environment variables template
βββ .gitignore # Git ignore rules
βββ README.md # Project documentation
βββ BACKEND.md # Backend documentation
βββ DATABASE.md # Database documentation
βββ CONTRIBUTING.md # Contribution guidelines
βββ CODE_OF_CONDUCT.md # Code of conduct
βββ LICENSE # MIT LicenseFollow these simple steps to set up and view the project on your local machine π
git clone https://github.com/Renu-code123/ExpenseFlow-expensetracker.git
cd ExpenseFlow-expensetracker
Simply open the expenseTracker.html file in your browser.
Or run a live development server using:
npx live-server
Or using Docker prerequisites (Docker Desktop)
To build the Image:
docker build -t expenseflow .
To Run the Container:
docker compose up -d
Stop the container
docker compose stop
Smart Money Management β Take control of your finances with our intuitive expense tracker.
- π Add backend for real-time data persistence (Firebase or Node.js)
- π Integrate charting tools like Chart.js for expense visualization
- π§Ύ Introduce login/authentication system
- π‘ Add category filters for detailed analysis
- π± Improve PWA support for full offline functionality
By building this project, youβll learn:
- π¨ Responsive UI design using CSS
- π§ DOM manipulation using vanilla JavaScript
- π Managing and displaying dynamic user data
- βοΈ Working with manifests and service workers
- ποΈ Structuring a scalable frontend project
Contributions are always welcome! If youβd like to improve ExpenseFlow, follow these steps π
-
Fork the repository
-
Create a new branch
git checkout -b feature-name
-
Commit your changes
git commit -m "Added a new feature" -
Push to your branch
git push origin feature-name
-
Open a Pull Request
π Thanks to all the amazing contributors who are helping build and improve ExpenseFlow!
This project is licensed under the MIT License β see the LICENSE file for details.
Renu Kumari Prajapati π Information Technology Student | π» Frontend Developer | π Open Source Enthusiast
π« Connect with me:
- GitHub: @Renu-code123
| Name | Role |
|---|---|
| Renu Kumari Prajapati | Project Admin |
| Harshit Singh | Mentor |
βSmart money management begins with awareness β track it, plan it, and grow it with ExpenseFlow.β
If you found this project useful, donβt forget to β Star the repository! Letβs build smarter tools for financial awareness together π