![🎬 EnterCinema [Vue.js - Django Rest Framework]](/images/assets/entercinema.png)
🎬 EnterCinema [Vue.js - Django Rest Framework]
- Ivan Luna
- Vue.js , Django Rest Framework , Python , Nuxt.js , Fullstack Development , Auth , Implementations , Netlify Deployment , Vercel Deployment , Supabase , AI Integration
- 19 Dec, 2024
A sophisticated media discovery platform built with Vue.js frontend and Django Rest Framework backend that transforms entertainment choices. It features AI-driven search and recommendations, comprehensive user profiles, advanced filtering options, and seamless integration with multiple streaming providers.
- Python Backend Integration: EnterCinema integrates a backend from Django Rest Framework for user registration and authentication, ensuring enhanced security and access control through the Django Admin Panel. The authentication system now supports both traditional DRF-based authentication and Google OAuth, allowing users to sign in with their Google accounts.

- Comprehensive User Profile Management: Users enjoy complete control over their profiles, with the ability to save favorite movies and TV series, personalize their entertainment preferences, and conveniently access account settings. The addition of a user profile menu on both the main and profile pages further enhances user interaction, providing easy access to authentication and account customization options, including avatar changes.

- Advanced Search Filters: Implemented advanced search functionality by year, genre, and rating. This enhancement allows users to filter search queries more precisely, making it easier to find exactly what they are looking for.

- “Ask AI” Assistant: Integrated chatbot that handles natural language queries about film and television, allowing complex questions and providing personalized content recommendations based on user preferences.

-
Daily Prompt Feature: A rotating daily question about cinema that encourages interaction and content discovery. The system selects from predefined questions based on the date, inviting users to explore new aspects of film.
-
Comprehensive Rating System: Users can now rate and review items directly from their watchlist through a dynamic modal without leaving the page. A centralized rated items modal with tabs for different content types allows easy management of all ratings.

-
Enhanced Search Relevance: Advanced AI-powered typo detection that analyzes queries to identify whether the user is searching for a person, film, or series, prioritizing results with a sophisticated relevance algorithm.
-
‘Releases Timeline’ Page: Formerly “Upcoming Releases”, this revamped section features a new carousel display with an expanded 180-day view of future releases. For authenticated users, the content is personalized according to their preferences, ensuring they receive updates tailored to their interests.

Effortless Social Media Sharing:
EnterCinema empowers users to share their favorite movies and TV series effortlessly across various social media platforms.

Community-driven User Reviews:
Users can explore insightful reviews for specific movies and TV shows, providing valuable feedback from fellow users.

Extensive Provider Options:
With multiple provider options available for each movie and TV show, users can know about the streaming platforms where they can access specific content (Apple TV+, Disney+, Hulu, Max, Netflix, Prime Video, etc.)

Discover by Categories:
Introducing intuitive carousels for different movie and TV series categories, EnterCinema elevates the browsing experience and simplifies content discovery for users.

Latest Update: Version 1.6.10 (April 2025)
-
Ask AI Integration: Added an intelligent chatbot assistant modal for natural language queries about film and TV content.
-
Daily Prompt Feature: Implemented rotating daily cinema questions to encourage content discovery.
-
Rating System Overhaul: Introduced comprehensive rating functionality with direct evaluation from watchlist and centralized management.
-
Search Relevance Algorithm: Rebuilt search system with AI-powered main entity detection for improved result relevance.
-
Advanced Watchlist Filtering: Added comprehensive filtering/sorting mechanism for the Watchlist with persistent preferences.
-
Hybrid Recommendation System: Implemented an AI-API recommendation system that analyzes user patterns and explains recommendations.
-
Stremio Integration: Added direct streaming access through Stremio platform integration.
-
Google OAuth Authentication: Users can now sign in using their Google accounts alongside the existing authentication system.
-
Enhanced Search with Watch Providers: Added ability to filter TV shows by streaming service (Apple TV+, Disney+, Hulu, Max, Netflix, Prime Video).
-
Releases Timeline: Revamped the former “Upcoming Releases” section with an improved carousel and 180-day view.
Installation
Vue.js Frontend:
To run this project locally, follow these steps:
- Clone the repository to your local machine:
git clone https://github.com/imprvhub/entercinema.git
- Install the necessary dependencies:
yarn install
- Before running the project, you need to set up your environment variables in a .env file. Here’s how:
FRONTEND_URL=<Specify the URL where your frontend will be hosted, e.g., 'https://localhost:3000' or your custom domain.>
API_KEY=<Provide your TMDB API key here>
SUPABASE_URL=<Enter the URL for your database, e.g., your Supabase database URL>
SUPABASE_ANON_KEY=<Enter the anonymous key for your database, e.g., your Supabase anonymous key>
By default, EnterCinema is configured to work with Supabase as the backend DRF database. However, you can use another database if needed. Simply replace DATABASE_URL and DATABASE_ANON_KEY with the appropriate values based on your database configuration.
- Run the project:
yarn dev
The project should be accesible at, e.g., ‘http://localhost:3000’
Django Rest Framework Backend:
To set up the Django Rest Framework backend for EnterCinema, follow these steps:
Prerequisites:
- Clone the backend repository to your local machine:
git clone https://github.com/imprvhub/entercinema-drf.git
- Install Dependencies: Navigate to the project directory and install the necessary dependencies using pip:
cd entercinema-drf
pip install -r requirements.txt
- Set Up Environment Variables. Create a .env file in the project directory and define the following variables:
DB_NAME=<Enter your database name>
DB_USER=<Enter your database username>
DB_PASSWORD=<Enter your database password>
DB_HOST=<Enter your database host, e.g., localhost>
DB_PORT=<Enter your database port>
- Apply Migrations:
python manage.py collectstatic
- Collect static files for deployment:
python manage.py collectstatic
- Run the server:
python manage.py runserver
Feedback:
Your feedback is valuable! If you encounter any issues or have suggestions for improvements, please create a new issue in the GitHub repository.