Tsuna Streaming is a powerful backend system that enables users to create channels and share various types of content, including videos and music. This platform allows users to follow their favorite channels, vote on content, and engage in discussions through comments. The system also keeps track of the number of viewers for each channel.
Channel owners have the ability to add administrators to their channels, granting them specific permissions to perform various tasks. This feature allows channel owners to delegate responsibilities and manage their channels more effectively.
Users can have two types of accounts: normal and premium. Premium users enjoy additional benefits, such as the ability to create twice as many channels as normal users and upload larger files. This distinction encourages users to upgrade to premium accounts, enhancing their experience on the platform.
To ensure optimal performance and transaction efficiency, the system employs a caching mechanism. Viewers and votes are initially stored in the cache and then periodically synchronized with the database.
With Tsuna Streaming, users can create, discover, and engage with a wide range of content, fostering a vibrant and interactive community.
The backend of Tsuna Streaming is built using Django and Django REST Framework, incorporating modern technologies such as Docker, PostgreSQL, Redis, and Celery. This solid technology stack ensures efficient data management and a smooth user experience. For detailed information about the Tsuna Streaming backend, please refer to the Backend Docs.
The front-end of Tsuna Streaming is currently undergoing maintenance. We welcome contributions from front-end developers to help enhance and further develop the user experience.
Follow these simple steps to run the Tsuna Streaming backend:
-
Clone the project repository:
git clone https://github.com/mohamad-liyaghi/Tsuna-Streaming.git
-
Change to the project directory:
cd tsuna-streaming/
-
To run the project in development mode using Docker-compose, execute the following command:
docker-compose up --build
If you want to run the project in production mode, use the following command instead:
docker-compose -f docker-compose.prod.yml up --build
This will build and start the containers required for the project to run in a production environment.
-
Populate the sample database with some data:
docker exec -it tsuna-streaming-backend python manage.py loaddata db.json
-
Access the Tsuna Streaming API in a web browser at
http://localhost:8000/
.
You're all set! Enjoy using Tsuna Streaming.