How nitin-o/iot-platform-backend works
This is an Express backend branded as an IoT Platform API; the sampled product behavior is primarily account authentication and session management. A client sends requests through the app and auth routes to registration, login, logout, refresh-token, or current-user handlers. Those handlers and JWT middleware use user and session models; login and refresh also use token utilities. Startup connects MongoDB before listening, while request logging flows through Morgan into Winston. The README contains no usable capability documentation, so the map reflects the sampled runtime; unsampled error handling and other routes are omitted.
Main entry points: auth.controller.js Auth Controller · app.js Express App · auth.routes.js Auth Routes · auth.middleware.js JWT Middleware
Components 13
HTTP Runtime
- Server Startup
index.js - Express App
src/app.js - Auth Routes
src/routes/auth.routes.js
Authentication
- Auth Controller
src/controllers/auth.controller.js - JWT Middleware
src/middleware/auth.middleware.js - Token Utilities
src/utils/token.utils.js
Persistence
- User Model
src/models/user.model.js - Session Model
src/models/session.model.js - Mongo Connector
src/db/index.js
Request Logging
- Access Log Middleware
src/middleware/logger.middleware.js - Winston Logger
src/utils/logger.js
Other components
- API Client
- MongoDB
Connections 15
- API Client → Express App: sends requests
src/app.js - Server Startup → Mongo Connector: connects first
index.js - Server Startup → Express App: starts listener
index.js - Mongo Connector → MongoDB: connects
src/db/index.js - Express App → Auth Routes: mounts auth routes
src/app.js - Express App → Access Log Middleware: registers middleware
src/app.js - Auth Routes → Auth Controller: dispatches auth requests
src/routes/auth.routes.js - Auth Routes → JWT Middleware: guards protected routes
src/routes/auth.routes.js - Auth Controller → User Model: reads and writes users
src/controllers/auth.controller.js - Auth Controller → Session Model: creates and updates sessions
src/controllers/auth.controller.js - Auth Controller → Token Utilities: hashes tokens and reads expiry
src/controllers/auth.controller.js - Auth Controller → User Model: generates JWTs
src/controllers/auth.controller.js - JWT Middleware → Session Model: checks active session
src/middleware/auth.middleware.js - JWT Middleware → User Model: loads session user
src/middleware/auth.middleware.js - Access Log Middleware → Winston Logger: writes access events
src/middleware/logger.middleware.js