Skip to content

Latest commit

 

History

History
125 lines (111 loc) · 3.76 KB

Readme.md

File metadata and controls

125 lines (111 loc) · 3.76 KB

Video Touch

Video Touch is a Video Hosting & Streaming platform. In Video Touch users can easily upload, manage and stream videos on demand.

Table Of Contents

The Goals Of This Project


  • Implementing video processing with the help of asynchornus job queue
  • Generating video thumbnail
  • Using RabbitMQ as a Job Queue
  • Using Event Driven Communications
  • Using GraphQL for client side communications
  • Using AWS s3 as storage
  • Stream videos with CDN (AWS Cloudfront)
  • Building a simple Dashboard with Next.js and shadcn/ui
  • Using Github Actions for implementing CI
  • Using Docker-Compose for our deployment mechanism.

Features


  • User Login/Registration
  • Video Upload
  • Video Transcoding in several resolutions(720p,540p,480p,360p)
  • Automatic Thumbnail Generation
  • Stream videos on Demand with CDN

Technologies


Backend Architecture


How To Run


To run this project locally, follow these steps:

  1. Clone this repository
git clone [email protected]:toufiq-austcse/video-touch.git
  1. Run server app
  • You will need AWS credentials, S3 Bucket and Cloudfront distribution

  • From project directory run the following commands:

    cd server
    cp example.env .env
    
  • Put your aws credentials, s3 bucket name and cloudfront cdn url in the following env's value

    AWS_ACCESS_KEY_ID=
    AWS_REGION=
    AWS_SECRET_ACCESS_KEY=
    AWS_S3_BUCKET_NAME=
    CDN_BASE_URL=
    
  • Create a seperate diretory for videos in your s3 bucket and put directory url in the following env value. Example value https://test-bucket.s3.ap-southeast-1.amazonaws.com/videos

    VIDEO_BASE_URL=
    
  • Put your JWT secret key and token expiren value in seconds in the following env's value

    JWT_SECRET=
    JWT_EXPIRATION_TIME_IN_SEC=
    
  • Run the follwong command

       docker compose up -d
    
  1. Run the Frontend app
  • From project directory run the following commands:
    cd frontend
    docker compose up -d
    

Frontend


Click here to show the screenshots of the project

SignUp Page

Login Page

Dashboard

Video Details Page

Import Video From Link

Upload Video

Edit Video Details