JMDB: Julian’s Movie Database
Overview:
JMDB is a dynamic and user-friendly movie database platform, allowing users to explore movie details, rate movies, and write reviews. Built with Django, it provides an interactive experience for both regular users and admin users.
Key Features:
Movie Listings: Users can browse through a collection of movies with detailed information, including descriptions, directors, main actors, and release years.
Ratings System: Registered users can rate movies using a 5-star rating system, and their average rating is displayed on each movie’s detail page.
User Reviews: Users can leave reviews on each movie, adding their thoughts and opinions, which are displayed alongside their ratings.
Admin Controls: Admin users have the ability to add, edit, or delete movies, as well as manage user reviews, with a custom confirmation modal for deletions.
Responsive Carousel: A dynamic movie carousel allows users to browse through top movies, offering a smooth and engaging user experience.
Authentication and Permissions: Secure login system with admin-level privileges for additional content management features.
Technologies Used:
Backend: Django (Python)
Frontend: HTML, CSS, JavaScript
Database: SQLite
UI Components: Modals, Tooltips, and Interactive Rating Systems
Additional Features:
Movie Trailer Integration: Movies have embedded trailers for users to watch directly on the platform.
Responsive Design: The platform is fully responsive, ensuring an optimal viewing experience across devices.
Development Experience:
Planning and Design
The project began with careful planning of features, user roles, and overall user flow. I designed the platform to cater to both regular users and admins, ensuring ease of use while maintaining full control over movie and review management.
Admin and User Experience
Admin Controls: Implemented additional controls for admin users, such as the ability to add, edit, and delete movies, as well as manage user reviews with a smooth UI.
Confirmation Modals: Designed confirmation modals for delete actions, ensuring secure and intentional actions, with custom pop-ups for both movie and review deletion.
Challenges and Solutions
Handling User Ratings: Faced challenges with maintaining accurate movie rating averages while allowing users to update their ratings. This was solved by carefully managing database queries and recalculating averages upon rating updates.
Carousel Implementation: Developing a responsive carousel that worked across all devices required multiple iterations and adjustments, ensuring smooth functionality and scalability.