How calladitya/authentication-system works
This is an Express authentication API. Requests enter through the server and auth routes, then the controller handles registration, login, profile lookup, session refresh/logout, and OTP verification using MongoDB models and email/OTP helpers. The README describes protected routes, but the sampled routes show no authorization middleware, so none is represented. Controller excerpts are partial; links among its workflows and storage are limited to relationships visible in those excerpts or the source index.
Main entry points: auth.controller.js Auth controller · server.js HTTP server · database.js DB connector · app.js Express app
Components 16
API runtime
- HTTP server
server.js - Express app
src/app.js - Auth routes
src/routes/auth.routes.js - Environment config
src/config/config.js
Identity workflows
- Auth controller
src/controller/auth.controller.js - OTP helpers
src/utils/utils.js
Persistence
- DB connector
src/config/database.js - User records
src/models/user.model.js - Session records
src/models/session.model.js - OTP records
src/models/otp.model.js
Email verification
- Email service
src/service/email.service.js
Other components
- API client
- MongoDB
- Gmail SMTP
- JWT library
- bcrypt library
Connections 16
- API client → HTTP server: sends requests
README.md - HTTP server → Express app: starts
server.js - HTTP server → Environment config: loads
server.js - HTTP server → DB connector: connects
server.js - DB connector → Environment config: reads URI
src/config/database.js - DB connector → MongoDB: connects
src/config/database.js - Express app → Auth routes: mounts
src/app.js - Auth routes → Auth controller: dispatches
src/routes/auth.routes.js - Auth controller → User records: reads/writes
src/controller/auth.controller.js - Auth controller → Session records: reads/writes
src/controller/auth.controller.js - Auth controller → OTP records: reads/writes
src/controller/auth.controller.js - Auth controller → OTP helpers: generates OTP
src/controller/auth.controller.js - Auth controller → Email service: sends verification
src/controller/auth.controller.js - Email service → Gmail SMTP: sends email
src/service/email.service.js - Auth controller → JWT library: signs/verifies tokens
src/controller/auth.controller.js - Auth controller → bcrypt library: hashes/checks
src/controller/auth.controller.js