C Stream (CODIIS Stream) is a streaming application Which allows users to enjoy their screen time by providing a platform to watch and purchase videos based on different plans. The application is designed with two types of users: Admin and Customer.
The project is developed using the following technologies:
- Front End: React JS
- Back End: Node JS
- Database: MongoDB
- Pattern: Model View Controller (MVC)
Before running the C Stream (CODIIS Stream) application, ensure that you have the following prerequisites installed on your system:
- Node.js (version 14 or above)
- npm (Node Package Manager) or yarn
To start the C Stream (CODIIS Stream) server and run the application, follow these steps:
- Clone the repository:
git clone https://github.com/salaimuniselvam-s/streaming-app.git
- Navigate to the project directory:
cd streaming-app
- Navigate to the server directory:
cd server
- Install the dependencies:
npm install
- Setting Up the Environment Variables:
cp .env.example .env
Add the required mongodb connection url and other fields respectively.
- Start the development server:
npm run start
- Open your browser and visit http://localhost:3002 to validate the C Stream (CODIIS Stream) server. It Should return "Welcome to C Stream Server.."
All the below routes have to be prefixed with BASE_URL in the .env file (By default server will be running on http://localhost:3002)
-POST /login - Handles user login, providing access and refresh tokens upon successful authentication.
-POST /register-admin - Allows registering new administrators with special privileges.
-POST /register-customer - Allows registering new customers for regular user accounts.
-POST /refreshToken - Refreshes access tokens by providing a new one based on a valid refresh token.
-DELETE /logout - Invalidates the provided refresh token, logging the user out of the system.
-GET /admin/get-all-plans - Retrieves all subscription plans available in the system for customers to choose when they register.
Note: Admin and Customer Routes are Protected by Jwt Tokens.
-POST /admin/upload-video - Allows administrators to upload a new video.
-GET /admin/get-all-videos - Retrieves all videos available in the system for administrators.
-DELETE /admin/delete-movie/:id - Deletes a specific movie by its ID from the system for administrators.
-POST /admin/add-new-plans - Allows administrators to add new subscription plans for users.
-PUT /admin/update-movie-plans/:id - Updates subscription plans for a specific movie by its ID for administrators.
-DELETE /admin/remove-plan/:id - Removes a subscription plan by its ID from the system for administrators.
-GET /customer/get-all-videos - Retrieves all videos available in the system for authenticated customers based on their subscription plan.
-POST /customer/add-to-favourite-movie/:movieId - Adds a specific movie to the customer's list of favorite movies.
-DELETE /customer/remove-from-favourite-movie/:movieId - Removes a specific movie from the customer's list of favorite movies.
-GET /customer/favourite-movies - Retrieves the list of favorite movies for the customer.
-GET /customer/:username/get-all-friends - Retrieves all friends of the customer based on their username.
-POST /customer/:username/add-friends - Adds a friend to the customer's friend list based on the friend's username.
-DELETE /customer/:username/delete-friend/:friendId - Removes a friend from the customer's friend list based on the friend's ID.
-GET /customer/get-all-customers - Retrieves all customer users available in the system.
- Navigate to the client directory:
cd client
- Install the dependencies:
npm install
- Setting Up the Environment Variables:
cp .env.example .env
Add the C stream server url.
- Start the development server:
npm run start
- Open your browser and visit http://127.0.0.1:5173/ to view C Stream Client Application
- Register an admin
- Add plans to the customer using Update Plan Button on top of the admin home page
- Upload Videos to the C Stream through Upload Video Button
- Register a Customer
- Now you can watch the movies uploaded by the Admin for your plan and also you can add movies to your Favourites List & You can Create a Friend Group.
The C Stream Application is a streaming app that allows users to access and watch videos. It consists of a frontend client-app deployed on Vercel, a backend server deployed on Render, and the MongoDB database hosted on MongoDB Atlas.
- Client-App - https://streaming-app-swart-one.vercel.app/
- Server - https://streaming-app-server-otce.onrender.com/
- MongoDB - https://cloud.mongodb.com/
Username | Password | Role |
---|---|---|
salai muni selvam | salai123 | customer |
ramesh | ramesh123 | customer |
suresh | suresh123 | customer |
vignesh | vignesh123 | customer |
Check out the preview of the C Stream (CODIIS Stream) application by following this link: C Stream (CODIIS Stream) Preview
This video provides a visual walkthrough of the application, showcasing its features and user interface. Download & Watch the preview to get a glimpse of what C Stream (CODIIS Stream) has to offer.