Skip to content

Kanai2003/youtube_clone

Repository files navigation

Youtube-Twitter clone backend

Target Data models to build ER_Diagram

Access all the APIs:

To Check api health condition GET: https://youtube-kanai.onrender.com/api/v1/healthcheck/

To use all the routes, go through Postman API Documentation

Table of Contents

Description

This is a comprehensive backend project for a YouTube clone with additional Twite features. It is built using JavaScript, Node.js, and various popular libraries and frameworks.

Features

User Authentication

  • Secure user authentication using JWT (JSON Web Tokens).

YouTube-like Features

Video Management

  • Video Upload: Allows users to upload videos to the platform.
  • Cloudinary Integration: Integrates with Cloudinary for efficient storage of video and image assets.
  • User Authorization: Implements user roles and permissions for managing video content.
  • Pagination: Utilizes mongoose-aggregate-paginate-v2 for seamless pagination of video content.

Social Interaction

  • Channel Subscription: Users can subscribe to their favorite channels to receive updates on new videos.
  • Like and Comment: Users can express their appreciation by liking videos and leaving comments.
  • Playlist Management: Allows users to create and manage playlists for organizing their favorite videos.

Dashboard

  • User Dashboard: Provides a personalized dashboard where users can view statistics, such as video views, likes, and subscriber count.

Twitter-like Features

Twite Integration

  • Tweet Creation: Users can compose and post tweets to share their thoughts or updates.
  • Tweet Editing: Provides the ability for users to edit their tweets after posting.
  • Tweet Deletion: Allows users to remove tweets they no longer wish to keep.

These features collectively create a comprehensive video-sharing platform with functionalities similar to YouTube, including video uploads, channel subscriptions, likes, comments, playlists, and a user dashboard. Additionally, the integration of Twitter-like features allows users to share and interact with short messages in a familiar social media style.

Installation

  1. Clone the repository:
    git clone https://github.com/Kanai2003/youtube_clone
  2. Install dependencies:
    npm install
  3. Set up environment variables: Create a .env file in the root directory and provide the necessary variables
    PORT=
    MONDODB_URI=
    CORS_ORIGIN=
    ACCESS_TOKEN_SECRET=
    ACCESS_TOKEN_EXPIRY=1d
    REFRESH_TOKEN_SECRET=
    REFRESH_TOKEN_EXPIRY=10d
    CLOUDINARY_CLOUD_NAME=
    CLOUDINARY_API_KEY=
    CLOUDINARY_API_SECRET=
  4. Run the development server:
    npm run dev

Access the API endpoints locally at http://localhost:your_port

Dependencies

Contributing

Contributions are welcome! Please follow the contribution guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.

License: MIT

View the MIT License

Author

Kanailal Manna(Kanai2003) All thanks to Mr. Hitesh Choudhary

About

MERN stack Youtube clone project

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published