This project is running locally as a full-stack app with separate frontend, backend, and database folders.
frontend/- frontend runtime folderfrontend/client-> symlink toartifacts/crmbsfrontend/client.log- frontend logs
backend/- backend runtime folderbackend/server-> symlink toartifacts/api-serverbackend/server.log- backend logs
db/- local PostgreSQL runtime folderdb/postgres-data/- database data directorydb/postgres.log- database logs
- Node.js >= 20
- npm (for
npx pnpm) - PostgreSQL binaries available in PATH (
initdb,pg_ctl,psql)
From project root:
npx pnpm installFirebase is integrated in frontend (artifacts/crmbs/src/lib/firebase.ts) and backend token verification (artifacts/api-server/src/middlewares/verifyToken.ts).
Frontend Firebase variables are required at build/runtime. Copy:
cp artifacts/crmbs/.env.example artifacts/crmbs/.envVITE_API_BASE_URL(for static deploys, set to your backend URL, e.g.https://crms-api.onrender.com)VITE_FIREBASE_API_KEYVITE_FIREBASE_AUTH_DOMAINVITE_FIREBASE_PROJECT_IDVITE_FIREBASE_STORAGE_BUCKETVITE_FIREBASE_MESSAGING_SENDER_IDVITE_FIREBASE_APP_IDVITE_FIREBASE_MEASUREMENT_ID
FIREBASE_PROJECT_ID(default currentlydbms-9403e)
First-time init only:
initdb -D "db/postgres-data"
createdb -h "db" -p 5433 crmbsStart PostgreSQL:
pg_ctl -D "db/postgres-data" -l "db/postgres.log" -o "-p 5433 -k $(pwd)/db" startStop PostgreSQL:
pg_ctl -D "db/postgres-data" stopPORT=5000 \
DATABASE_URL=postgresql://sharad@127.0.0.1:5433/crmbs \
JWT_SECRET=crmbs-local-dev \
FIREBASE_PROJECT_ID=dbms-9403e \
npx pnpm --filter @workspace/api-server run devBackend health endpoint:
http://127.0.0.1:5000/api/healthz
PORT=5173 \
BASE_PATH=/ \
VITE_API_PROXY_TARGET=http://127.0.0.1:5000 \
npx pnpm --filter @workspace/crmbs run devFrontend URL:
http://127.0.0.1:5173
- Admin:
admin@nitc.ac.in/Admin@123 - HOD:
hod.cse@nitc.ac.in/Test@123 - Resource Manager:
rm.cse@nitc.ac.in/Test@123 - Faculty:
faculty.cse@nitc.ac.in/Test@123 - Student:
student@nitc.ac.in/Test@123
- Backend:
backend/server.log - Frontend:
frontend/client.log - DB:
db/postgres.log
curl -s http://127.0.0.1:5000/api/healthz