Skip to content

Expense Tracker A MERN stack application to streamline financial management by tracking expenses, managing budgets, and visualizing spending trends. Check out live now

Notifications You must be signed in to change notification settings

tharun2107/expensetracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 

Repository files navigation

Expense Tracker

Description

Expense Tracker is a full-stack web application built using the MERN stack (MongoDB, Express, React, Node.js) to help users track their daily expenses. The application allows users to record, categorize, and analyze their expenses with the ability to filter by date and category. The app also supports data export to Excel and PDF for easier tracking and reporting.

This project is designed to help individuals keep an eye on their spending habits and manage their budget effectively.

Key Features

  • User Authentication: Sign up and log in using JWT authentication.
  • Expense Management: Add, edit, and delete expenses.
  • Categories: Organize expenses by categories such as food, transportation, bills, etc.
  • Expense Filtering: Filter expenses by date and category.
  • Data Visualization: View expense trends with graphical charts.
  • Export Options: Download the expense data as a PDF or Excel file.
  • Responsive Design: Mobile-friendly interface.

Technologies Used

  • Frontend:

    • React.js
    • React Router
    • Chart.js (for graphical representation of expenses)
    • Axios (for making API requests)
  • Backend:

    • Node.js
    • Express.js
    • MongoDB
    • JSON Web Tokens (JWT) for user authentication
    • Multer (for file upload functionality)
  • Tools & Libraries:

    • Bootstrap (for responsive design)
    • React-Bootstrap (UI components)
    • React-Chartjs-2 (for integrating charts)
    • pdfkit (for PDF export)
    • exceljs (for Excel export)

Installation Instructions

Follow these steps to set up the project locally:

  1. Clone the repository:

    git clone <repository-url>
  2. Navigate to the project directory:

    cd expense-tracker
  3. Install backend dependencies:

    cd server
    npm install
  4. Install frontend dependencies:

    cd client
    npm install
  5. Create a .env file in the backend directory and add the following environment variables:

    MONGO_URI=your_mongodb_connection_string
    
  6. Run the server:

    cd backend
    npm start
  7. Run the frontend:

    cd frontend
    npm start
  8. The application should now be running locally on http://localhost:3000.

Usage

  • User Registration: Sign up with your email and create a password. An OTP will be sent to your email for verification.
  • Adding Expenses: Once logged in, click on "Add Expense" to record an expense with details like the amount, category, and date.
  • Filtering Expenses: Use the date and category filters to narrow down your expenses.
  • Exporting Data: Download your expenses as a PDF or Excel file by using the "Export" button on the dashboard.
  • View Charts: View your expenses in a graphical format on the dashboard.

Dependencies

  • Backend Dependencies:

    • express
    • mongoose
    • bcryptjs
    • multer
    • nodemailer
    • dotenv
  • Frontend Dependencies:

    • react
    • react-dom
    • react-router-dom
    • axios
    • chart.js
    • react-chartjs-2
    • bootstrap
    • react-bootstrap

Motivation

The motivation behind creating this project was to help users keep track of their daily expenses efficiently. By providing an intuitive interface and data analysis features, the application empowers individuals to manage their finances and make informed budgeting decisions.

Contact


Thank you for checking out this project! Feel free to contribute, raise issues, or provide feedback.

About

Expense Tracker A MERN stack application to streamline financial management by tracking expenses, managing budgets, and visualizing spending trends. Check out live now

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages