The OTT Project is a microservices-based application designed to manage various aspects of an OTT media service. The project is divided into four main services:
- User Service
- Content Service
- Streaming Service
- Invoice Service
Each service is responsible for a specific set of functionalities, ensuring modularity and scalability.
- User Service
- Content Service
- Streaming Service
- Invoice Service
- Setup
- Technologies Used
The User Service manages all user-related functionalities, including user registration, authentication, and profile management.
- User Registration: Allows new users to register.
- User Authentication: Handles user login and logout.
- Profile Management: Enables users to view and update their profile information.
- POST /users/adduser: Register a new user.
- GET /users: Get a list of all users.
This service is essential for managing user data, ensuring secure authentication, and providing a personalized experience for each user.
The Content Service is responsible for managing the media content available on the platform, including movies, TV shows, and other digital media.
- Content Management: Add, update, and delete content.
- Search Content: Search for content by various filters such as genre, release year, etc.
- Featured Content: Mark content as featured.
- GET /content: Retrieve a list of all content.
- GET /content/:id: Retrieve content by ID.
- POST /content/add: Add new content.
The Content Service allows administrators to manage the media library efficiently and provides users with access to a wide range of content.
The Streaming Service handles all operations related to streaming content, including starting, stopping, and monitoring streaming sessions.
- Start Streaming: Start streaming a specific piece of content.
- Stop Streaming: Stop streaming the current content.
- Streaming Analytics: Monitor and log streaming activities.
- POST /streaming/play/:id: Start streaming content by ID.
- POST /streaming/stop/:id: Stop streaming content by ID.
- GET /streaming/:id: Get streaming details by ID.
This service is crucial for delivering content to users in real-time, ensuring smooth playback, and providing valuable insights into streaming performance.
The Invoice Service manages billing and invoicing for the users, keeping track of transactions and payment history.
- Create Invoice: Generate a new invoice for a transaction.
- View Invoice: Retrieve invoice details by ID.
- List Invoices: Get a list of all invoices for a user.
- POST /invoices/create: Create a new invoice.
- GET /invoices/:id: Retrieve an invoice by ID.
- GET /invoices/user/:userId: Retrieve all invoices for a user.
The Invoice Service ensures accurate billing, provides users with a history of their transactions, and helps manage financial records efficiently.
- Node.js
- MongoDB
- Git
- Clone the repository:
git clone https://github.com/KislayKashyap-hub/OTT-Application.git