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

https://github.com/saranzafar/backend-boy

A comprehensive video series on backend development with JavaScript.
https://github.com/saranzafar/backend-boy

api backend chayorcode-backend nodejs saranzafar videotube

Last synced: 3 months ago
JSON representation

A comprehensive video series on backend development with JavaScript.

Awesome Lists containing this project

README

        

# Backend With Nodejs Series

## Overview

This repository [VideoTube](https://github.com/saranzafar/Backend-Boy/tree/main/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

- [All APIs](https://documenter.getpostman.com/view/28434920/2sA3XJn5u8)
- [DB Model Link](https://app.eraser.io/workspace/YtPqZ1VogxGy1jzIDkzj)
- [Youtube Playlist](https://www.youtube.com/watch?v=EH3vGeqeIAo&list=PLu71SKxNbfoBGh_8p_NS-ZAh6v7HhYqHW&pp=iAQB)

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