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.
- 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
| 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 |
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
Requires Node 18+ and MongoDB (local or Atlas).
cd backend
npm installCreate backend/.env:
MONGODB_URI=mongodb://localhost:27017/aureva
PORT=8000
ALLOWED_ORIGINS=http://localhost:3000
npm run dev # http://localhost:8000cd frontend
npm install
npm run dev # http://localhost:3000Optionally create frontend/.env.local:
NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
| Variable | Description |
|---|---|
MONGODB_URI |
MongoDB Atlas connection string |
PORT |
Server port (default 8000) |
ALLOWED_ORIGINS |
Comma-separated allowed frontend origins |
| Variable | Description |
|---|---|
NEXT_PUBLIC_API_BASE_URL |
Backend base URL (no trailing slash) |
| 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 |
- 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.