How kush-gupta-04/authapp works
AuthApp exposes signup, login, and protected test/student/admin endpoints. Signup checks and creates users with bcrypt-hashed passwords; login checks credentials and constructs a JWT, but the sampled controller has its successful response/cookie code commented out. Protected routes validate JWTs and enforce roles. README documents secure cookie authentication, while the sampled code shows cookie parsing and token reading but no active login cookie issuance. The route wiring and database setup are visible; no separate domain handlers are present for other capabilities.
Main entry points: user.js User routes · Auth.js Auth controller · index.js Express app · auth.js JWT authentication
Components 11
API runtime
- Express app
index.js - User routes
routes/user.js
Identity and access
- Auth controller
controllers/Auth.js - JWT authentication
middlewares/auth.js - Role checks
middlewares/auth.js - Password hashing
controllers/Auth.js - JWT tokens
controllers/Auth.js
Persistence
- User model
models/User.js - MongoDB
- Database connection
config/database.js
Other components
- API client
Connections 13
- API client → Express app: sends requests
- Express app → User routes: mounts routes
- User routes → Auth controller: dispatches signup/login
- User routes → JWT authentication: dispatches protected requests
- User routes → Role checks: dispatches role checks
- Auth controller → User model: queries/creates users
- Auth controller → Password hashing: hashes/verifies passwords
- Auth controller → JWT tokens: signs token
- JWT authentication → JWT tokens: verifies token
- Role checks → User routes: continues authorized request
- Express app → Database connection: connects database
- Database connection → MongoDB: opens connection
- User model → MongoDB: persists users