How jaspreet29kalra/youtube works
FB-Project is a YouTube-oriented Express API. The shown user workflow runs from HTTP routes through optional authentication and file-upload middleware to account controllers, which read or update user records and return structured responses; uploaded images are sent to Cloudinary. Startup connects MongoDB before listening. The tree also shows video, comment, like, playlist, subscription, and tweet models, but their runtime relationships are not shown. The README is empty, so these boundaries reflect the available source excerpts and tree.
Main entry points: user.controller.js Account controller · user.routes.js User routes · auth.middleware.js JWT authentication · cloudinary.js Cloudinary uploader
Components 17
API and startup
- Express app
FB-Project/src/app.js - User routes
FB-Project/src/routes/user.routes.js - Server startup
FB-Project/src/index.js - Async wrapper
FB-Project/src/utils/asyncHandler.js - API response
FB-Project/src/utils/ApiResponse.js - API errors
FB-Project/src/utils/ApiError.js
Account workflows
- Account controller
FB-Project/src/controllers/user.controller.js - JWT authentication
FB-Project/src/middlewares/auth.middleware.js
Media handling
- File intake
FB-Project/src/middlewares/multer.middleware.js - Temporary files
- Cloudinary uploader
FB-Project/src/utils/cloudinary.js - Cloudinary
Persistence and domain
- DB connection
FB-Project/src/db/index.js - MongoDB
- User records
FB-Project/src/models/user.model.js - Content records
FB-Project/src/models
Other components
- API client
Connections 18
- API client → Express app: sends requests
FB-Project/src/app.js - Express app → User routes: mounts routes
FB-Project/src/app.js - Server startup → DB connection: connects first
FB-Project/src/index.js - Server startup → Express app: starts listener
FB-Project/src/index.js - DB connection → MongoDB: connects to
FB-Project/src/db/index.js - User routes → Account controller: dispatches requests
FB-Project/src/routes/user.routes.js - User routes → JWT authentication: protects routes
FB-Project/src/routes/user.routes.js - User routes → File intake: parses uploads
FB-Project/src/routes/user.routes.js - Account controller → User records: reads and updates
FB-Project/src/controllers/user.controller.js - JWT authentication → User records: loads user
FB-Project/src/middlewares/auth.middleware.js - Account controller → Cloudinary uploader: uploads images
FB-Project/src/controllers/user.controller.js - Cloudinary uploader → Cloudinary: uploads files
FB-Project/src/utils/cloudinary.js - Cloudinary uploader → Temporary files: removes local files
FB-Project/src/utils/cloudinary.js - File intake → Temporary files: stores uploads
FB-Project/src/middlewares/multer.middleware.js - Account controller → Async wrapper: wraps handlers
FB-Project/src/controllers/user.controller.js - Account controller → API response: formats results
FB-Project/src/controllers/user.controller.js - Account controller → API errors: raises errors
FB-Project/src/controllers/user.controller.js - JWT authentication → Async wrapper: wraps middleware
FB-Project/src/middlewares/auth.middleware.js