/VStreamer

This project is a video streaming website that allows users to upload videos to their account, the video can be watched or viewed by other users who have access to the website.

Primary LanguageTypeScript

VStreamer

This project is a video streaming website that allows users to upload video to their account, the video can be watched or viewed by other users who have access to the website.

Contributors:

Uche Okoroafor


Built With:

Frontend

  • React/Typescript - The framework used for developing the components and UI.
  • Material UI - Javascript framework for styling and CSS compartmentalization.
  • ReactPlayer - ReactPlayer is used for the video player.

Backend


Features:

  • User login/sign up authentication.
  • Upload videos.
  • Users are able to watch videos which is streamed from the server.
  • Delete videos.
  • upload profile image.
  • update user profile.
  • Comment on a Video.
  • Like or dislike a Video.
  • Like or dislike a Comment.

Installation:

If you want to run the application locally, follow the instructions below:

  1. Clone repository
  2. Install Dependencies - Run npm install in the root directory and client directory
  3. Create a file with the name .env
  4. Add the application secret key for authentication using SECRET_KEY to .env
  5. Add the application mongo uri MONGO_LOCAL_URI to .env. Additional information to run mongoDB locally can be found here. Alternatively you can use Mongo Atlas here.
  6. To run code from the code editor, create an account on Cloudinary. You can find your api key after registering here. Add cloudinary keys CLOUDINARY_NAME, CLOUDINARY_API_KEY and CLOUDINARY_API_SECRET to .env.
  7. Sign up for AWS S3 and add S3_ACCESS_KEY, S3_ACCESS_SECRET and S3_BUCKET_NAME to .env
  8. Final .env appear should like below:
JWT_SECRET=<Secret key for JWT >
MONGO_LOCAL_URI=<Your mongo uri>
AWS_BUCKET_NAME=<your aws bucket name>
AWS_BUCKET_REGION=<your aws bucket data base region>
AWS_BUCKET_ACCESS_KEY=<  your aws access key>
AWS_BUCKET_SECRET_ACCESS_KEY=< your aws secret access key>
CLOUDINARY_NAME=< your cloudinary account name>
CLOUDINARY_API_KEY=< your cloudinary api key>
CLOUDINARY_API_SECRET=<your cloudinary api secret key>
  1. Run npm run dev to start the server on the root directory and npm start on client to start the application

DEMO

VStreamer