Skip to content

tarun-kavipurapu/vTube

Repository files navigation

Vtube

Vtube is a web application built with Node.js, Express, MongoDB, Zod, and Postman.

Table of Contents

Introduction

Vtube is a video-sharing platform where users can upload, view, and interact with videos. It provides functionalities for users to create accounts, upload videos, like/dislike videos, comment on videos, and more.

Features

  • User authentication and authorization
  • Video uploading
  • Video playback
  • Like/dislike videos
  • Commenting on videos
  • User profile management
  • Cloud storage of videos and images

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/vtube.git
  2. Navigate to the project directory:

    cd vtube
  3. Install dependencies:

    npm install
  4. Set up environment variables:

    Create a .env file in the root directory and add the following variables:

    PORT=3000
    MONGODB_URI=your_mongodb_uri
    ACCESS_TOKEN_SECRET=your_access_token_secret
    ACCESS_TOKEN_EXPIRY=access_token_expiry
    REFRESH_TOKEN_SECRET=your_refresh_token_secret
    REFRESH_TOKEN_EXPIRY=refresh_token_expiry
    CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name
    CLOUDINARY_API_KEY=your_cloudinary_api_key
    CLOUDINARY_API_SECRET=your_cloudinary_api_secret
    
  5. Start the server:

    npm start

Usage

Once the server is running, you can access the application at http://localhost:3000 in your web browser.

Verification

Checkout the Postman collection to verify the endpoints.

Contributing

Contributions are welcome! If you'd like to contribute to Vtube, please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/YourFeature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin feature/YourFeature)
  5. Create a new Pull Request

About

A backend clone implementation of youtube

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published