Skip to content

Budgetter is designed to help students and individuals track their daily expenses, analyze their spending habits, and manage their pocket money efficiently.

Notifications You must be signed in to change notification settings

tkim602/Budgetter-Webapp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Budgetter - Your Daily Expenses Tracker

Budgetter is designed to help students and individuals track their daily expenses, analyze their spending habits, and manage their pocket money efficiently. This project was born out of the need for a better system to keep track of personal finances, beyond just noting down expenses without proper analytics.

Table of Contents

  1. Features
  2. Screenshot of Project
  3. Technology Stack
  4. How to Use Locally
  5. Testing
  6. Contributing
  7. Live Demo

Features

1. Dashboard

  • Visualize your total pocket money, expenses, recent spending, and which categories consume the most money.

2. Add Expense

  • Users can add expenses with the following details: date, name, category, and amount.
  • If you've already added an expense today, it will automatically show below in a table displaying today's added expenses.

3. Show Expenses

  • By default, this section shows today's expenses.
  • It includes a date filter to view expenses based on specific days, displaying details such as ID, name, price, category, and the time the expense was added.

4. Reports

  • The Reports section provides detailed insights into your spending:
    • Displays all expenses for the current month by default.
    • Includes filters such as:
      • Last 7 days' expenses.
      • Total expenses by category.
      • Date range input for expenses.
      • Select a specific month to view its expenses.

5. Add Money

  • Users can add the money they receive from any source (e.g., parents, salary) to their account.
  • The wallet shows previous money entries, stored securely in the database.

Screenshot of Project

1. Landing Page

Landing Page Screenshot

2. Dashboard

Dashboard Page Screenshot


Technology Stack

Vite React TypeScript TailwindCSS React Hot Toast

Node.js Express.js

MongoDB Cloudinary Gmail


How to Use Locally

If You Dont want to run server code then neglect server commands

  1. Clone the repository:

    git clone https://github.com/LokeshwarPrasad3/Budgetter-Webapp.git
  2. Install dependencies for both frontend and backend:

    cd client
    npm install
    
    cd server
    npm install
  3. Create a .env file in the server folder with the following content:

    PORT=5000
    
    MONGO_URL=mongodb://127.0.0.1:27017/budgetter
    
    ACCESS_TOKEN_SECRET_KEY=
    ACCESS_TOKEN_SECRET_EXPIRY=3d
    
    RESET_PASSWORD_TOKEN_SECRET=
    RESET_PASSWORD_TOKEN_SECRET_EXPIRY=1d
    
    ACCOUNT_VERIFICATION_TOKEN_SECRET=
    ACCOUNT_VERIFICATION_TOKEN_SECRET_EXPIRY=1d
    
    CLOUDINARY_CLOUD_NAME=
    CLOUDINARY_API_KEY=
    CLOUDINARY_API_SECRET=
    
    ADMIN_GMAIL=
    GMAIL_PASSKEY=
    
    FRONTEND_URL=http://localhost:5173
    SERVER_URL=http://localhost:5000
    
  4. Run the backend server:

    cd server
    npm run dev
  5. Run the frontend development server:

    cd client
    npm run dev
  6. Open http://localhost:5173 in your browser to access the application.


Testing

To test the application, use the following credentials:

Username: lokeshwardewangan
Password: 12345

Contributing

Use And Make Issue :

Create an issue for any feature request, bug, or improvement.

Contribute :

Fork the repository, make your changes, and create a pull request, for detailed guidelines on contributing, please see CONTRIBUTING.md.


Live Demo

https://mybudgetter.netlify.app/

Maintainer

Lokeshwar Dewangan


For any questions, feedback, or contributions, feel free to reach out!

About

Budgetter is designed to help students and individuals track their daily expenses, analyze their spending habits, and manage their pocket money efficiently.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 74.5%
  • JavaScript 19.2%
  • HTML 4.7%
  • CSS 1.6%