Skip to content

Compact outing-management application with student and guard frontends and an Express + MongoDB backend.

Notifications You must be signed in to change notification settings

VIGGU-7/outingSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Outing System

Compact outing-management application with student and guard frontends and an Express + MongoDB backend. Actually built for college outing management but can be adapted for other uses. Demo video (YouTube)

Badges

  • Build: build
  • License: license

Quick links


Screenshots / Images

GuardLogin Student Generate Guard Dashboard Guard QR SCAN Manual MIS Lookup Pending Outings Outing History StudentOnboarding

Features

  • Student: signup, login, onboard, create outing, generate QR, view history.
  • Guard: login, scan QR or manual MIS lookup, approve/reject/complete outings, filter & sort outings.
  • Backend: Express APIs, MongoDB models, cookie-based JWT auth, email verification.

Environment variables

Backend: backend/.env (example)

PORT=5000
NODE_ENV=production
MONGODB_URI=mongodb://<user>:<pass>@host:port/outingSystem
JWT_SECRET=REPLACE_WITH_SECURE_SECRET
FRONTEND_URL=http://localhost:5173
EMAIL_HOST=smtp.example.com
EMAIL_PORT=587
EMAIL_SECURE=false # true for 465, false for other ports
EMAIL_USER=you@example.com
EMAIL_PASS=your_email_password
EMAIL_FROM="Outing System <no-reply@example.com>"

Frontends: frontend/*/.env

VITE_API_URL=http://localhost:5000/api/v1
VITE_NODE_ENV=development

Do NOT commit secrets.


Local development

  1. Backend
cd backend
npm install
npm run dev
  1. Student frontend
cd frontend/studentview
npm install
npm run dev
  1. Guard frontend
cd frontend/guardView
npm install
npm run dev

Open student app at http://localhost:5173 (default Vite port) or check configured ports.


Production / Docker (quick)

  • Build backend and frontends, serve frontend static build with nginx.
  • Use docker-compose to inject env vars securely.

API overview (selected)

Base path: /api/v1

Student

  • POST /student/signup
  • POST /student/login (sets httpOnly cookie)
  • POST /student/outing/add
  • GET /student/outing/history

Guard

  • POST /guard/login
  • GET /guard/check-auth
  • GET /guard/outings (filters: status, search, startDate, endDate)
  • GET /guard/outing/:id
  • POST /guard/approve — body: { data: { _id } }
  • POST /guard/reject — body: { data: { _id } }
  • POST /guard/complete — body: { data: { _id } }

Contributing

  • Create a branch per feature.
  • Run linters & tests before PR.
  • Keep secrets out of PRs.

License

MIT

About

Compact outing-management application with student and guard frontends and an Express + MongoDB backend.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published