Personal dashboard for reminders, college attendance, academic lectures, and session-plan DOCX export.
Stack: React 18 (Vite) + Express + MongoDB · Auth: 6-digit PIN → JWT (7 days)
Production: Frontend on Vercel · API on Render
- Calendar (month / week / day) with reminders, lectures, and college in/out markers
- Recurring reminders, search, browser notifications
- Attendance logging + analytics charts
- Academic lectures and bi-monthly session plan generation / DOCX download
- Authenticated JSON database export
- Node.js 18+
- MongoDB (local or Atlas)
cd backend
npm install
cp .env.example .env # then edit secrets
npm run devAPI: http://localhost:5000 · Health: GET /api/health
Required env (see backend/.env.example):
| Variable | Notes |
|---|---|
HEERME_PIN |
Exactly 6 digits |
JWT_SECRET |
≥ 16 characters |
MONGODB_URI |
Defaults to mongodb://localhost:27017/heerme |
CORS_ORIGIN |
Production: https://heer-me.vercel.app (comma-separated allowlist). Empty = allow any origin (dev only) |
PORT |
Default 5000 |
cd frontend
npm install
npm run devApp: http://localhost:3000 (Vite proxies /api → localhost:5000).
For production builds, set build-time:
VITE_API_URL=https://heerme.onrender.com/api| App | Command | Purpose |
|---|---|---|
| backend | npm run dev / npm start |
Dev watch / production |
| backend | npm test |
Node test runner |
| frontend | npm run dev / npm run build |
Dev / production bundle |
| frontend | npm test |
Node test runner |
- Render (API): Root
backend, startnpm start, set env vars includingCORS_ORIGIN=https://heer-me.vercel.app. - Vercel (SPA): Root
frontend, buildnpm run build, outputdist, setVITE_API_URLto the Render API/apibase. - After API deploys, confirm
Content-Dispositionis exposed (CORSexposedHeaders) so session-plan download filenames work cross-origin.
| Method | Path | Notes |
|---|---|---|
| POST | /api/auth/login |
PIN; rate-limited |
| GET | /api/auth/session |
JWT check |
| GET | /api/health |
Public; 503 if Mongo disconnected |
| * | /api/reminders, /attendance, /academic-lectures, /session-plans, /export |
Bearer JWT |
heerme/
├── backend/ # Express API
├── frontend/ # Vite React SPA
├── docs/assets/ # README screenshots
├── .github/workflows/ci.yml
└── README.md
