QTube is a video-sharing platform that allows users to:
- Upload and share their videos.
- Watch videos uploaded by other users.
- Find videos using an advanced search system.
- Interact with content through comments and likes.
- Browse videos categorized into different genres like education, entertainment, etc.
Note: This project was developed as part of a web development course.
β Video Upload System: Users can upload videos in any format.
β Video Format Conversion: Non-MP4 formats are processed in a background job and converted to MP4.
β Video Streaming: Watch videos online.
β Search System: Efficient video search functionality.
β Comments & Likes: Users can leave comments and rate videos.
β Video Categorization: Content is classified into various categories.
π Framework: Django + Django REST Framework
π Web Server: Gunicorn
π³ Containerization: Docker & Docker Compose
π Admin Panel: django-jazzmin
π Authentication: rest_framework_simplejwt
π Error Logging Middleware: Logs errors for debugging
π Password Recovery: Temporary token stored in Redis
services:
app:
redis:
postgres:
celery_worker:
nginx:
-
Clone the repository:
git clone https://github.com/MohammadOshkooh/QTube.git cd QTube
-
Configure environment variables.
-
Run Docker Compose:
docker-compose up --build
-
Access the project at
http://localhost:8002
.
To contribute, feel free to submit a Pull Request or report issues in the Issues section. π
π Built with Django β€οΈ