How jstmejosh/realtimeboardbackend works
RealTimeBoard is a Node.js backend for account authentication and room-scoped collaborative boards. The main workflows are REST-based signup, email verification, login, and password recovery; board creation and paginated history retrieval; and authenticated Socket.io room joining, messaging, editing, and deletion. Controllers and socket handlers own the operations that read and write the user, board, and message models. The README documents these capabilities; some unsampled modules are shown at their exact tree paths, with only documented or source-supported connections included.
Main entry points: server.js HTTP and Socket server · authControllers.js Auth and recovery · boardRoutes.js Board routes · authRoutes.js Auth routes
Components 21
Application entry
- HTTP and Socket server
server.js - Database connection
config/db.js - Validation middleware
middleware/validate.js
Authentication
- Auth routes
routes/authRoutes.js - Auth validation
validators/authSchema.js - HTTP JWT auth
middleware/verifyHttpToken.js - Socket JWT auth
middleware/verifyToken.js - Auth and recovery
controllers/authControllers.js - OTP generation
utils/generateOTP.js - Email templates
templates/EmailTemplates.js - Email delivery
services/sendEmail.js
Boards and messaging
- Board routes
routes/boardRoutes.js - Board validation
validators/boardSchema.js - Board API
controllers/boardController.js - Board socket events
sockets/boardHandlers.js
Persistence
- User accounts
models/User.js - Boards and membership
models/Board.js - Messages
models/Message.js
Other components
- Client
- Resend
- MongoDB
Connections 27
- Client → HTTP and Socket server: HTTP requests
- HTTP and Socket server → Auth routes: mounts routes
- HTTP and Socket server → Board routes: mounts routes
- HTTP and Socket server → Socket JWT auth: verifies sockets
- HTTP and Socket server → Board socket events: registers handlers
- HTTP and Socket server → Database connection: connects database
- Auth routes → Validation middleware: validates requests
- Auth routes → Auth validation: uses schemas
- Auth routes → Auth and recovery: dispatches auth
- Board routes → HTTP JWT auth: verifies requests
- Board routes → Validation middleware: validates requests
- Board routes → Board validation: uses schema
- Board routes → Board API: dispatches boards
- Auth and recovery → User accounts: reads and writes
- Auth and recovery → OTP generation: generates codes
- Auth and recovery → Email templates: renders email
- Auth and recovery → Email delivery: sends email
- Email delivery → Resend: delivers through
- Board API → Boards and membership: reads and writes
- Board API → Messages: loads history
- Board socket events → Boards and membership: checks membership
- Board socket events → Messages: creates and updates
- Client → Board socket events: socket events
- Database connection → MongoDB: connects to
- User accounts → MongoDB: persists records
- Boards and membership → MongoDB: persists records
- Messages → MongoDB: persists records