An open API service indexing awesome lists of open source software.

https://github.com/aalok012/vidnova

VidNova is a modular Node.js backend for a video-sharing app. It features RESTful controllers, separated models, Express routes, auth and upload middlewares, Cloudinary media handling, and utilities for standardized responses and errors—designed for easy testing, scaling, and feature extension.
https://github.com/aalok012/vidnova

aws cloudinary javascript mongodb-atlas mongodb-database mongoose nodejs postman

Last synced: 6 months ago
JSON representation

VidNova is a modular Node.js backend for a video-sharing app. It features RESTful controllers, separated models, Express routes, auth and upload middlewares, Cloudinary media handling, and utilities for standardized responses and errors—designed for easy testing, scaling, and feature extension.

Awesome Lists containing this project

README

          

VidNova is a focused backend for a video-sharing platform, implemented in Node.js and organized with clarity for maintainability and extension. The codebase follows standard Express patterns and separates concerns across controllers, models, routes, middlewares, utilities, and a lightweight persistence layer in db/. Core controllers such as video.controller.js, user.controller.js, playlist.controller.js, and comment.controller.js handle RESTful operations, while dashboard, like, subscription, and tweet controllers add cross-cutting social features. Each controller is paired with route modules under routes/ to keep HTTP routing declarative and testable.

Models encapsulate data logic for videos, users, playlists, likes, subscriptions, tweets, and comments in models/, which keeps data access decoupled from controllers. The db/index.js file centralizes database connectivity, making it straightforward to replace or mock the persistence layer for testing. Middlewares include authentication and file-upload handling (auth.middleware.js, multer.middleware.js), letting protected endpoints and media uploads integrate cleanly. Utility modules like ApiResponse.js, ApiError.js, and asyncHandler.js standardize responses, error handling, and async control flow across the app.

Media handling integrates with Cloudinary through utils/cloudinary.js, simplifying image/video storage and CDN delivery. The project ships minimal top-level entry points (index.js, app.js) and configuration in constants.js, so it’s easy to wire into Docker, CI, or a cloud deployment. Public static assets live under public, with a temp/ folder for transient files.

Designed for iterative development, Videotube is ready for feature growth: add real-time notifications, migrate models to TypeScript, plug in a relational or NoSQL DB, or introduce background workers for transcoding. The repository’s modular layout, clear controller-route pairing, and helper utilities make testing, scaling, and onboarding straightforward—ideal for developers building a modern media backend.