https://hubkinza.github.io/Filmflix/
Filmflix is a user-friendly movie browsing web app that allows users to discover, explore, and learn more about movies using real-time data from The Movie Database (TMDB) API. It aims to provide a clean, responsive, and engaging interface for users to search for movies, filter by genre or release year, and view detailed information like overviews, ratings, and posters.
- Discover popular and top-rated movies instantly
- Search for specific titles without leaving the page
- Filter results by genre or release year for a more personalized experience
- Responsive layout for seamless use on desktop and mobile devices
- Clean, intuitive design to keep the focus on content
| File/Folder | Description |
|---|---|
index.html |
Homepage with all movies and filters |
about.html |
Info about the website |
movie-details.html |
Details of selected movies |
top-rated.html |
List of top-rated movies |
static/css/styles.css |
Styling and layout for the entire site |
static/js/app.js |
API calls, filters, rendering |
static/js/movie-details.js |
JS for movie details page |
static/js/top-rated.js |
JS for top-rated page |
static/img/ |
Image assets |
- HTML5 – Markup structure of the website
- CSS3 – Styling, layout, responsiveness
- JavaScript (ES6) – DOM manipulation, API integration, filter logic
- TMDB API – Provides dynamic movie data
- Git & GitHub – Version control and deployment
- GitHub Pages – Hosting the live version of the site
- Figma - Creating wireframing and color pallete
Here are some screenshots of the final implementation:
-
Feature: View Top-Rated Movies
As a movie enthusiast,
I want to see a list of top-rated movies on the homepage,
So that I can quickly discover popular films. -
Feature: View Movie Details
As a user,
I want to view details about a selected movie,
So that I can learn about its plot, watch trailer, and rating.
-
Feature: Search by Title
As a user,
I want to search for movies by typing a title,
So that I can find specific films quickly. -
Feature: Filter by Genre
As a user,
I want to filter movies by genre from a dropdown,
So that I can see only the types of movies I enjoy. -
Feature: Filter by Year
As a user,
I want to filter movies by release year,
So that I can find older or newer movies more easily.
- Feature: Mobile Accessibility
As a mobile user,
I want the site layout to adapt to my screen,
So that I can browse movies comfortably on my phone.
- Feature: Learn About the App
As a visitor,
I want to read a short description of what this site is about,
So that I can understand what Filmflix offers.
-
Feature: Handle No Search Results
As a user,
I want to see a message when no movies match my search,
So that I’m not left wondering if something broke. -
Feature: Handle API Errors
As a user,
I want the app to notify me if the movie data can’t be loaded,
So that I know something went wrong and can try again later.
| Purpose / Element | Color Code | Description |
|---|---|---|
| Body Background | #121212 |
Main dark background color |
| Navbar & Sections | #111111 |
Used for navbar and filter section |
| Primary Text | #ffffff |
Main text color for readability |
| Accent - Red Button | red |
Highlight action like reset filters |
| Card Background | white |
Movie cards and modal base color |
| Muted Text | #939191 |
Footer and secondary text |
| Test Scenario | Action | Expected Result | Actual Result | Pass/Fail |
|---|---|---|---|---|
| Homepage Loads Correctly | Open homepage in browser | Homepage loads without errors | Works as expected | Pass |
| Navigation Links Work | Click Home, Top Rated, About links | Navigates to correct sections/pages | Works as expected | Pass |
| Trailer Links Work | Click Trailer link | Navigates to correct Youtube site | Works as expected | Pass |
| Movie Cards Display | Check if movie cards render on homepage | Movie posters, titles, ratings are visible | Works as expected | Pass |
| Movie Card Content Accuracy | Verify title, rating, and image match API | Correct data pulled from TMDB API | Works as expected | Pass |
| Search Functionality | Type a valid movie name and search | Matching results appear instantly | Works as expected | Pass |
| Genre Filter Functionality | Select a genre from dropdown | Only movies from selected genre are displayed | Works as expected | Pass |
| Responsive Design – Mobile | Open site on iPhone SE or small screen | Layout adjusts properly for small screens | Works as expected | Pass |
| Responsive Design – Tablet | Open site in iPad or tablet-sized window | Layout adjusts properly for tablet viewports | Works as expected | Pass |
| Responsive Design – Desktop | View site on full-size monitor | Layout remains centered, clean, and balanced | Works as expected | Pass |
| Broken Links Check | Use manual check and link checker tool | All links respond correctly, no 404 errors | Works as expected | Pass |
| Image Load Check | Refresh pages and scroll to all images | No broken or missing images | Works as expected | Pass |
| Page Load Speed | Use browser/network tab | Website loads in under 3 seconds (ideal benchmark) | Works as expected | Pass |
- Add individual movie detail pages with full synopsis, cast, trailers, etc.
- Implement pagination or infinite scroll for large result sets
- Allow users to sort movies by rating, popularity, or release date
- Save favorite movies using local storage or user accounts
- Improve accessibility with ARIA labels and keyboard navigation
- Display loading indicators and error messages during API calls
- Add clickable movie cards in the Top rated movies list page so viewers can see movie details without having to navigate to home page and search for movie
This project is deployed using GitHub Pages.
🔗 Live Site: https://hubkinza.github.io/Filmflix/
To deploy or update:
- Push your latest code to the
mainormasterbranch - Go to the repository’s Settings > Pages
- Set source to
/ (root)or the folder containingindex.html - Save and wait for GitHub to build and publish your site
Movie data provided by The Movie Database (TMDB)
Repository - https://github.com/bhagirath-wscubetech/javascript-projects/tree/main/movie-search-app
https://github.com/devjldp -- A heartfelt thank you to Jose for his mentorship and guidance throughout my JavaScript learning journey.
Chat GPT for support in generating ideas, user stories, markdown documentation.