Skip to content

manmathbh/expense_tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expense Tracker 💸

Project Banner

A full-stack web application designed to help users manage their finances by tracking expenses. Built with Node.js, Express, MongoDB, and a vanilla JavaScript frontend.

License Stars


📋 Table of Contents


## About The Project

This project is a complete expense tracker that includes user authentication and full CRUD functionality for managing expenses. The goal was to build a secure, functional, and user-friendly application that demonstrates the entire development and deployment lifecycle of a full-stack project.


## Key Features

  • 🔐 Secure Authentication: JWT-based user sign-up and login system.
  • 📊 Interactive Dashboard: Dynamic pie chart for category-wise expense visualization using Chart.js.
  • 📝 Full CRUD Functionality: Users can easily add, view, edit, and delete their expenses.
  • ⬇️ Data Export: Download expense reports as either a CSV or PDF file.
  • 📱 Responsive Design: A clean and modern UI that works on both desktop and mobile devices.

## Tech Stack

A look at the technologies that power this application.

Frontend Backend Database Deployment
HTML5 CSS3 JavaScript Chart.js Node.js Express.js JWT CORS MongoDB Mongoose MongoDB Atlas Netlify (Frontend) Render (Backend)

## Live Demo

You can view and test the live, deployed application here:


## Getting Started

To get a local copy up and running, follow these simple steps.

### Prerequisites

Make sure you have Node.js and MongoDB installed on your system.

### Installation

  1. Clone the repository:

    git clone [https://github.com/manmathbh/expense-tracker.git](https://github.com/manmathbh/expense-tracker.git)
    cd expense-tracker
  2. Install Backend Dependencies:

    cd backend
    npm install
  3. Set Up Environment Variables:

    • Create a .env file in the backend folder.
    • Add the following, replacing the placeholders with your own values:
      MONGO_URI=your_mongodb_connection_string
      JWT_SECRET=your_super_secret_key
      
  4. Run the Backend Server:

    node server.js
  5. Run the Frontend:

    • Navigate to the frontend folder.
    • Open the index.html file with a live server extension (like the one in VS Code).

## Connect

Manmath - LinkedIn - ([email protected])

Project Link: Project Repo


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published