Skip to content

hubkinza/Filmflix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filmflix

image https://hubkinza.github.io/Filmflix/

Purpose of the Project

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.

Value for Users

  • 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

Project Structure

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

Tools used in the project.

  • 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

Screenshots

Here are some screenshots of the final implementation:

Landing page

image

Movie Details Page

image

Top Rated Movies page

image

About page

image

User Stories

Home Page – Movie Discovery

  • 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.


Search and Filter

  • 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.


Responsive Design

  • 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.

About Page

  • 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.

Error Handlingv

  • 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.

UI

Color Scheme

image

🎨 Color Scheme

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

Wireframes

Landing page

image

Movie Details Page

image

Top Rated Movies page

image

About page

image

Testing

HTML Validator

Landing Page

image

Movie Details Page

image

Top Rated Movies page

image

About page

image

CSS Validator

image

JavaScript Validator (Js Hint)

Landing page

image

Top rated Movies

image

Movie details

image

Lighthouse

image

Manual testing

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

Future Improvements

  • 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

Deployment

This project is deployed using GitHub Pages.

🔗 Live Site: https://hubkinza.github.io/Filmflix/

To deploy or update:

  1. Push your latest code to the main or master branch
  2. Go to the repository’s Settings > Pages
  3. Set source to / (root) or the folder containing index.html
  4. Save and wait for GitHub to build and publish your site

Credits

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors