β 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
β 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
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β π° 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 β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
π Income Management
π΄ Expense Tracking
|
π Analytics Dashboard
π Auth & Security
|
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
# 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π 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.
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