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

Username · email · password (bcrypt) · createdAt

Incomeuser (ref) · source · amount · date · logo

Expenseuser (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

Languages