Skip to content

ExpenseFlow is a smart expense tracking web app that helps you monitor your spending, analyze your balance, and achieve your financial goals with ease.

License

Notifications You must be signed in to change notification settings

Renu-code123/ExpenseFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ’Έ ExpenseFlow – Smart Expense Tracker

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.


πŸ”— Quick Links


🧭 Table of Contents


✨ Features

  • πŸ“Š 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

Core Features

  • πŸ“Š 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.

Advanced Features

  • πŸ”„ 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 βœ…

πŸ–₯️ Overview

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

πŸ€– Chatbot Feature

ExpenseFlow includes an interactive chatbot to enhance user experience and accessibility.

πŸ’‘ What the Chatbot Can Do:

  • 🧭 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.

Architecture Highlights

  • 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

πŸ€” Why to use ExpenseFlow?

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.


✨ Features

  • Expense tracking & splitting
  • Budget goals
  • AI-based categorization
  • Email notifications
  • Real-time sync
  • Receipt management

πŸ› οΈ Tech Stack

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
Email 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

πŸ“‚ Folder Structure

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 License

πŸš€ How to Run Locally

Follow these simple steps to set up and view the project on your local machine πŸ‘‡

1️⃣ Clone the Repository

git clone https://github.com/Renu-code123/ExpenseFlow-expensetracker.git

2️⃣ Navigate into the Project Folder

cd ExpenseFlow-expensetracker

3️⃣ Open the HTML File

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

πŸ“Έ Screenshots

image image

🏠 Dashboard Preview

Smart Money Management – Take control of your finances with our intuitive expense tracker.


🧩 Future Enhancements

  • πŸ”— 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

🎯 Learning Outcomes

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

🀝 Contributing

Contributions are always welcome! If you’d like to improve ExpenseFlow, follow these steps πŸ‘‡

  1. Fork the repository

  2. Create a new branch

    git checkout -b feature-name
  3. Commit your changes

    git commit -m "Added a new feature"
  4. Push to your branch

    git push origin feature-name
  5. Open a Pull Request


All Contributors

πŸ’– Thanks to all the amazing contributors who are helping build and improve ExpenseFlow!


🧾 License

This project is licensed under the MIT License – see the LICENSE file for details.


πŸ‘©β€πŸ’» Author

Renu Kumari Prajapati πŸŽ“ Information Technology Student | πŸ’» Frontend Developer | 🌍 Open Source Enthusiast

πŸ“« Connect with me:


πŸ§‘β€πŸ’» Core Team

Name Role
Renu Kumari Prajapati Project Admin
Harshit Singh Mentor

πŸ’¬ Quote

β€œSmart money management begins with awareness β€” track it, plan it, and grow it with ExpenseFlow.”


🌟 Show Some Love

If you found this project useful, don’t forget to ⭐ Star the repository! Let’s build smarter tools for financial awareness together πŸ’œ


About

ExpenseFlow is a smart expense tracking web app that helps you monitor your spending, analyze your balance, and achieve your financial goals with ease.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 35