CinemaWatch is a Django REST API backend project designed to serve as a clone of IMDb, focusing on movie and TV show information. This README provides an overview of the project structure, setup instructions, and usage guidelines.
- Python 3.7 or higher
- Django 3.2 or higher
- Postman (For API Testing)
- Django REST Framework 3.12 or higher
- pip (Python package manager)
- CRUD operations for managing movies and TV shows
- User authentication and authorization
- Search functionality for finding movies and TV shows
- Rating and reviewing system
cinemawatch/
: The root directory of the project.cinemawatch/settings.py
: Configuration settings for the Django project.users_app/
: Manages user authentication and authorization.watchlist_app/
: Manages Watchlists and Reviews.requirements.txt
: List of Python dependencies required for the project.manage.py
: Django's command-line utility for administrative tasks.
-
Clone the repository:
git clone https://github.com/stunner007-ir/cinemawatch.git cd cinemawatch
-
Create a virtual environment and activate it:
python3 -m venv venv source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt
-
Apply migrations:
python manage.py migrate
-
Start the development server:
python manage.py runserver
-
Access the API at http://localhost:8000/
POST /login/
: Log in to the system and obtain an authentication token.POST /register/
: Register a new user.POST /logout/
: Log out from the system.
GET /list/
: Retrieve a list of all movies.GET /<int:pk>/
: Retrieve details of a specific movie by its ID.GET /list2/
: Retrieve a list of all watchlists.
POST /<int:pk>/review-create/
: Create a new review for a specific movie.GET /<int:pk>/reviews/
: Retrieve all reviews for a specific movie.GET /review/<int:pk>/
: Retrieve details of a specific review.GET /reviews/
: Retrieve all reviews published by a particular user.
admin/
: Django admin interface for administrative tasks.watch/
: Include additional APIs related to the watchlist app.account/
: Include additional APIs related to the user app.
- Backend - Ishu Raj
This project is licensed under the MIT License.