Vibhaag is a modern college attendance, analytics, and timetable platform. Built on the MERN stack with a React Native companion app.
- Web: React (v19.2) + Vite (v8) + TypeScript (v6)
- API: Express (v5.2) + Mongoose (v9.7) + Bun Runtime
- Mobile: React Native (0.85) + Expo (SDK 56)
- Database: MongoDB
Start the database, web app, and API proxy:
docker compose up --build -dSeed the database with sample data:
docker compose exec api bun src/seed.tsOpen:
- Web (direct): http://localhost:5173
- API (direct): http://localhost:4000/health
- Web (proxy): http://vibhaag.localhost
- API (proxy): http://api.vibhaag.localhost/health
- Admin: admin@vibhaag.dev / admin123
- Faculty: rhea@vibhaag.dev / faculty123
- Student: ira@vibhaag.dev / student123
Step 1: Start MongoDB only using Docker:
docker compose up mongo -dStep 2: Create env files.
Copy .env.example to .env in apps/api and apps/web.
For local API dev, set MONGO_URL in apps/api/.env to mongodb://localhost:27017/vibhaag.
For local Web dev, set VITE_API_URL in apps/web/.env to http://localhost:4000.
Step 3: Install dependencies:
bun installStep 4: Seed local database:
bun run seedStep 5: Run dev servers:
bun run devKindly ensure MongoDB is running before executing tests.
Runs tests on a separate test database (vibhaag_test) to avoid wiping your dev data:
bun run testInstall browsers first:
bun run ui:installRun visual tests against local dev servers:
API_BASE_URL=http://localhost:4000 UI_BASE_URL=http://localhost:5173 bun run test:uiUpdate visual snapshots:
API_BASE_URL=http://localhost:4000 UI_BASE_URL=http://localhost:5173 bun run test:ui:updateStep 1: Install dependencies:
bun --cwd apps/mobile installStep 2: Start Expo dev server:
bun --cwd apps/mobile run startStep 3: Run Expo Web:
bun --cwd apps/mobile run web