Skip to content

Latest commit

 

History

History
115 lines (83 loc) · 4.66 KB

Readme.md

File metadata and controls

115 lines (83 loc) · 4.66 KB

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