This repository VideoTube is part of a comprehensive video series on backend development with JavaScript. The project showcases the development of a complete backend system for a video hosting website similar to YouTube + Tweeter or X.
This project demonstrates the creation of a complex backend system using the following technologies:
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT (JSON Web Tokens)
- Bcrypt
The system includes essential features such as:
- User Authentication (Login and Signup)
- Video Uploading
- Liking and Disliking Videos
- Commenting and Replying
- Subscribing and Unsubscribing to Channels
We adhere to standard practices like using JWT for authentication, bcrypt for password hashing, and implementing access and refresh tokens. This project aims to provide a thorough understanding of building a robust and scalable backend system.
- Authentication: Secure user authentication using JWT and bcrypt.
- Video Management: Upload, like, dislike, and comment on videos.
- User Interaction: Reply to comments, subscribe, and unsubscribe to channels.
- Security: Implemented access and refresh tokens to ensure secure API endpoints.
We welcome contributions to this project. However, please note that this is not a typical project where any pull request (PR) will be merged.
By working on this project, you will gain hands-on experience in:
- Setting up a backend server with Node.js and Express.js.
- Integrating MongoDB using Mongoose for database operations.
- Implementing authentication and authorization using JWT.
- Handling file uploads and media management.
- Applying best practices for securing backend APIs.
We are confident that you will find this project educational and valuable in enhancing your backend development skills. Happy coding!
For any queries or further information, feel free to reach out via the provided contact channels.