Skip to content

saranzafar/Backend-Boy

Repository files navigation

Backend With Nodejs Series

Overview

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.

Project Links

Project Summary

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.

Key Features

  • 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.

Contribution Guidelines

How to Contribute

We welcome contributions to this project. However, please note that this is not a typical project where any pull request (PR) will be merged.

Learning Outcomes

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.