Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Aureva — Mutual Fund Tracker

Live: https://aureva-one.vercel.app/

Note: The backend runs on Render's free tier and spins down after inactivity. Before opening the frontend, visit https://aureva-sd4t.onrender.com once and wait ~15 seconds for it to wake up.

A clean dashboard for tracking Indian mutual funds. Search 37,000+ schemes, view NAV history, compare funds side by side, build a personal watchlist, and plan SIPs — no account needed.

Data from MFapi.in.


What it does

  • Discover — Browse all AMFI-listed schemes filtered by category (Large Cap, ELSS, Index, etc.), with Direct-only and Growth-only toggles and pagination
  • NAV Charts — Interactive 1Y / 3Y / 5Y / All-time area charts with daily NAV data
  • Compare — Normalised side-by-side performance comparison of up to 3 funds
  • Watchlist — Save funds with one click; syncs to MongoDB with localStorage as fallback
  • SIP Planner — Estimate future corpus from monthly amount, duration, and expected return

Stack

Frontend Next.js 14 (App Router), Tailwind CSS, Recharts, Framer Motion
Backend Node.js, Express, MongoDB (Mongoose), node-cache
Data MFapi.in — public API, no key needed

Folder structure

aureva/
├── frontend/
│   ├── app/              # Next.js App Router pages
│   ├── components/       # UI components
│   ├── context/          # WatchlistContext (dual persistence)
│   └── lib/              # API client, nav utilities, fund utils
└── backend/
    ├── src/
    │   ├── routes/       # /api/funds, /api/watchlist
    │   └── models/       # Mongoose Watchlist schema
    └── server.js

Running locally

Requires Node 18+ and MongoDB (local or Atlas).

Backend

cd backend
npm install

Create backend/.env:

MONGODB_URI=mongodb://localhost:27017/aureva
PORT=8000
ALLOWED_ORIGINS=http://localhost:3000
npm run dev    # http://localhost:8000

Frontend

cd frontend
npm install
npm run dev    # http://localhost:3000

Optionally create frontend/.env.local:

NEXT_PUBLIC_API_BASE_URL=http://localhost:8000

Environment variables

Backend

Variable Description
MONGODB_URI MongoDB Atlas connection string
PORT Server port (default 8000)
ALLOWED_ORIGINS Comma-separated allowed frontend origins

Frontend

Variable Description
NEXT_PUBLIC_API_BASE_URL Backend base URL (no trailing slash)

API

Method Path Description
GET /api/watchlist Fetch all saved funds
POST /api/watchlist Add a fund { schemeCode, schemeName }
DELETE /api/watchlist/:schemeCode Remove a fund
GET /api/funds/:schemeCode NAV history from MFapi (1hr cache)
GET /health Health check

Assumptions & known limitations

  • No per-user accounts — the watchlist is shared across all sessions (single shared watchlist per the spec).
  • Search calls MFapi.in directly from the browser (read-only, no secrets involved). Fund detail calls route through the backend proxy with 1-hour caching.
  • The full fund list (~37,000 schemes) is fetched once on first load and cached in memory for the session. Filter switches after that are instant.
  • Render free tier spins down after 15 minutes of inactivity — first request after a cold start takes ~10–15 seconds.
  • MFapi does not provide AUM, expense ratio, or fund manager data — only NAV history is available.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages