Skip to content

About

πŸ’° A modern expense tracking app with dark mode dashboard, interactive charts, and full authentication. Built with React, Node.js, Express & MongoDB.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ’° MoneyTrail

A modern, full-stack expense tracking application with a sleek dark mode dashboard. Track your income, expenses, and visualize your spending habits with beautiful charts.

MoneyTrail Dashboard License React Node.js MongoDB

🌐 Live Demo

✨ Features

  • πŸ” User Authentication β€” Secure JWT-based login and registration
  • πŸ“Š Interactive Dashboard β€” Visualize spending with pie charts and trend lines
  • πŸ’³ Transaction Management β€” Add, edit, and delete income/expenses
  • 🏷️ Custom Categories β€” Create personalized categories for better organization
  • πŸŒ™ Dark Mode UI β€” Modern, eye-friendly dark theme
  • πŸ“± Responsive Design β€” Works seamlessly on desktop and mobile
  • πŸ” Filter & Search β€” Quickly find transactions by type or category

πŸ› οΈ Tech Stack

Frontend:

  • React 18
  • React Router v6
  • Recharts (data visualization)
  • Vite (build tool)
  • CSS3 (custom dark theme)

Backend:

  • Node.js
  • Express.js
  • MongoDB with Mongoose
  • JWT Authentication
  • bcrypt (password hashing)

Deployment:

  • Frontend: Netlify
  • Backend: Render
  • Database: MongoDB Atlas

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • MongoDB Atlas account (or local MongoDB)
  • npm or yarn

Installation

  1. Clone the repository

    git clone https://github.com/Gochatsurtsumia/MoneyTrail.git
    cd MoneyTrail
  2. Set up the backend

    cd backend
    npm install

    Create a .env file in the backend folder:

    PORT=5000
    MONGO_URI=your_mongodb_connection_string
    JWT_SECRET=your_secret_key
    NODE_ENV=development

    Start the backend server:

    npm run dev
  3. Set up the frontend

    cd frontend
    npm install

    Create a .env file in the frontend folder:

    VITE_API_URL=http://localhost:5000/api

    Start the frontend:

    npm run dev
  4. Open your browser

    Visit http://localhost:5173

πŸ“ Project Structure

MoneyTrail/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ config/        # Database configuration
β”‚   β”‚   β”œβ”€β”€ controllers/   # Route controllers
β”‚   β”‚   β”œβ”€β”€ middleware/    # Auth middleware
β”‚   β”‚   β”œβ”€β”€ models/        # Mongoose models
β”‚   β”‚   β”œβ”€β”€ routes/        # API routes
β”‚   β”‚   β”œβ”€β”€ services/      # Business logic
β”‚   β”‚   └── utils/         # Helper functions
β”‚   β”œβ”€β”€ server.js          # Entry point
β”‚   └── package.json
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable components
β”‚   β”‚   β”œβ”€β”€ context/       # Auth context
β”‚   β”‚   β”œβ”€β”€ pages/         # Page components
β”‚   β”‚   β”œβ”€β”€ services/      # API service
β”‚   β”‚   └── App.jsx        # Main app component
β”‚   β”œβ”€β”€ index.css          # Global styles
β”‚   └── package.json
β”‚
└── README.md

πŸ“‘ API Endpoints

Authentication

Method Endpoint Description
POST /api/auth/register Register new user
POST /api/auth/login User login
GET /api/auth/me Get current user

Transactions

Method Endpoint Description
GET /api/transactions Get all transactions
POST /api/transactions Create transaction
PUT /api/transactions/:id Update transaction
DELETE /api/transactions/:id Delete transaction

Categories

Method Endpoint Description
GET /api/categories Get all categories
POST /api/categories Create category
PUT /api/categories/:id Update category
DELETE /api/categories/:id Delete category

Analytics

Method Endpoint Description
GET /api/analytics/summary Get income/expense summary
GET /api/analytics/by-category Get spending by category
GET /api/analytics/monthly-trend Get monthly trends

🎨 Screenshots

Dashboard

Dark mode dashboard with summary cards and interactive charts.

Transactions

Filter and manage all your transactions in one place.

Categories

Create custom categories for income and expenses.

🀝 Contributing

Contributions are welcome! Feel free to:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

πŸ‘€ Author

Gocha Tsurtsumia


⭐ Star this repo if you found it helpful!

About

πŸ’° A modern expense tracking app with dark mode dashboard, interactive charts, and full authentication. Built with React, Node.js, Express & MongoDB.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages