A Netflix-like streaming platform built with Django that offers subscription-based access to movies and TV series. Users can browse content, manage watchlists, track viewing history, and access premium content through Stripe subscriptions.
- Movies and TV Series catalog
- Genre-based categorization
- Search functionality
- Similar content recommendations
- Content metadata (ratings, descriptions, cast)
- User registration and authentication
- Personal watchlists
- Viewing history
- Favorites collection
- User reviews and ratings
- Profile management
- Stripe integration for payments
- Multiple subscription plans
- Premium content access control
- Subscription management
- Payment history
- Responsive design
- AJAX-powered interactions
- /// Video quality selection
- /// Progress tracking
- SEO-friendly URLs
- Clone the repository:
git clone https://github.com/manjurulhoque/django-webflix.git
cd django-webflix
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Create .env file:
SECRET_KEY=your_secret_key
DEBUG=True
STRIPE_PUBLIC_KEY=your_stripe_public_key
STRIPE_SECRET_KEY=your_stripe_secret_key
STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret
- Run migrations:
python manage.py migrate
- Run the development server:
python manage.py runserver
- Run the development server:
python manage.py runserver
-
Create a Stripe account at stripe.com
-
Get your API keys from the Stripe Dashboard
-
Create Products and Prices in Stripe(Must be same name):
- Classic ($9.99/month)
- Premium ($14.99/month)
- Elite ($199.99/yearly)
-
Configure Webhook(Optional):
- Add endpoint:
https://your-domain.com/stripe/webhook/
- Select events:
customer.subscription.created
customer.subscription.updated
customer.subscription.deleted
- Add endpoint:
-
Update settings:
STRIPE_PUBLIC_KEY = 'your_stripe_public_key'
STRIPE_SECRET_KEY = 'your_stripe_secret_key'
STRIPE_WEBHOOK_SECRET = 'your_stripe_webhook_secret'
python manage.py generate_fixtures
python manage.py generate_series
- Django 5+
- Python 3.11+
- SQLite/PostgreSQL
- Stripe
- Bootstrap 4
- jQuery
- Font Awesome
- HTML5/CSS3
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Manjurul Hoque - @manjurulhoque
Project Link: https://github.com/manjurulhoque/django-webflix