Skip to content

QTube is a powerful and scalable video-sharing platform built with Django. It allows users to upload, watch, and interact with videos through comments and likes. The project utilizes Docker, Redis, Celery, and JWT authentication for seamless performance and security. πŸš€πŸŽ₯

Notifications You must be signed in to change notification settings

MohammadOshkooh/QTube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

37 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ₯ QTube - A video-sharing platform

πŸ“Œ Introduction

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.

βš™οΈ Key Features

βœ… 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.

πŸ—οΈ Technologies Used

πŸš€ 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

πŸ—οΈ Docker Containers

services:
  app:
  redis:
  postgres:
  celery_worker:
  nginx:

πŸš€ Project Setup

  1. Clone the repository:

    git clone https://github.com/MohammadOshkooh/QTube.git
    cd QTube
  2. Configure environment variables.

  3. Run Docker Compose:

    docker-compose up --build
  4. Access the project at http://localhost:8002.

🎯 Contribution

To contribute, feel free to submit a Pull Request or report issues in the Issues section. πŸ™Œ


πŸš€ Built with Django ❀️

About

QTube is a powerful and scalable video-sharing platform built with Django. It allows users to upload, watch, and interact with videos through comments and likes. The project utilizes Docker, Redis, Celery, and JWT authentication for seamless performance and security. πŸš€πŸŽ₯

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published