Skip to content

Ronit178693/Ledgerly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation




Stop guessing where your money went. Track it, visualize it, control it.


πŸ“Š The Problem

❌  No clear picture of where money is going each month
❌  Income and expenses tracked in scattered spreadsheets (or not at all)
❌  No way to spot financial patterns until it's too late
❌  Generic finance apps β€” cluttered, complicated, not built for you

βœ… What Ledgerly Does

βœ”  Single dashboard β€” total balance, income, and expenses at a glance
βœ”  30-day income vs expense chart β€” see trends, not just numbers
βœ”  Log income sources and expense categories with emoji logos
βœ”  Secure auth β€” bcrypt + httpOnly JWT cookies, no localStorage nonsense
βœ”  Clean MERN architecture β€” MVC backend, Context API frontend

πŸ–₯️ Dashboard at a Glance

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ’° Total Balance      πŸ“ˆ Total Income      πŸ“‰ Total Expenses β”‚
β”‚     β‚Ή 42,500              β‚Ή 75,000              β‚Ή 32,500      β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚   Income vs Expenses β€” Last 30 Days (Chart.js)              β”‚
β”‚   β–“β–“β–“β–“β–“β–“β–“β–‘β–‘β–‘β–‘β–‘  Income                                      β”‚
β”‚   β–“β–“β–“β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  Expenses                                    β”‚
β”‚                                                              β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Recent Transactions                                         β”‚
β”‚  πŸ• Food Β· β‚Ή450 Β· Today        πŸ’Ό Salary Β· β‚Ή50,000 Β· Jun 1  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

✨ Key Features

πŸ’š Income Management

  • Add income with source, amount & date
  • Optional emoji/logo per income stream
  • Delete outdated records
  • Aggregated income overview

πŸ”΄ Expense Tracking

  • Log expenses by category (Food, Transport, Utilities...)

  • Visual logo/emoji identifier per entry

  • Full expense history with delete

  • Category-level spending breakdown

πŸ“ˆ Analytics Dashboard

  • 30-day Income vs Expense line chart
  • Real-time balance calculation
  • Recent transactions feed
  • MongoDB Aggregation Pipelines for summaries

πŸ” Auth & Security

  • bcrypt password hashing

  • httpOnly JWT cookie sessions

  • Protected API routes via middleware

  • CORS + cookie-parser configured


πŸ—οΈ Architecture

Client (React + Vite)
β”‚
β”œβ”€β”€ /Pages          β†’ Landing, Home Dashboard, Income, Expenses
β”œβ”€β”€ /Components     β†’ Reusable UI components
β”œβ”€β”€ /useContext     β†’ Global state (user session, financial data)
└── /utils          β†’ Helper functions

Server (Node + Express) β€” MVC Pattern
β”‚
β”œβ”€β”€ /Routes         β†’ authRoutes, incomeRoutes, expenseRoutes, dashboardRoutes
β”œβ”€β”€ /Controllers    β†’ Business logic per domain
β”œβ”€β”€ /Models         β†’ Mongoose schemas (Users, Income, Expenses)
└── server.js       β†’ Entry point β€” Express init, MongoDB connect, middleware

βš™οΈ Tech Stack

Frontend


Backend



πŸš€ Getting Started

# Clone the repo
git clone https://github.com/Ronit178693/Ledgerly.git
cd Ledgerly/Expense-Tracker

# ── Frontend ──────────────────────────────
npm install
npm run dev                    # β†’ http://localhost:5173

# ── Backend ───────────────────────────────
cd backend
npm install

# Create your .env file
cp .env.example .env
# Fill in: MONGO_URI, JWT_SECRET, PORT

npm run dev                    # β†’ http://localhost:5000

πŸ—ƒοΈ Data Models

πŸ“‹ Click to expand schema overview

User β€” name Β· email Β· password (bcrypt) Β· createdAt

Income β€” user (ref) Β· source Β· amount Β· date Β· logo

Expense β€” user (ref) Β· category Β· amount Β· date Β· logo

Dashboard aggregations computed server-side via MongoDB Aggregation Pipelines β€” no heavy lifting on the frontend.


πŸ“ Project Structure

Ledgerly/
└── Expense-Tracker/
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ Pages/              # Landing, Home, Income, Expenses
    β”‚   β”œβ”€β”€ Components/         # Reusable UI
    β”‚   β”œβ”€β”€ useContext/         # Context API providers
    β”‚   β”œβ”€β”€ utils/              # Helpers
    β”‚   └── App.jsx             # Route definitions
    └── backend/
        └── src/
            β”œβ”€β”€ Models/         # Users, Income, Expenses
            β”œβ”€β”€ Routes/         # auth, income, expense, dashboard
            β”œβ”€β”€ Controllers/    # Business logic
            └── server.js       # Entry point

Built with πŸ’š by Ronit Agrawal



About

Ledgerly is a MERN-based personal finance tracker that helps users monitor their income and expenses through interactive charts and analytics, enabling better insights into spending patterns and financial habits.

Topics

Resources

Stars

Watchers

Forks

Contributors