An app for movie lovers to learn more about their favorite films from information provided by The Movie Database.
- Users can browse a vast catalogue of movies in the main categories "Now Playing," "Popular," and "Top Rated."
- Users can view details about specific movies, including: cast, crew, reviews, and more.
- Users can search the Movie Database using custom search queries
- Virtual DOM provides better performance than other alternatives, such as JQuery
- Built and maintained by Facebook, meaning there is a vast ammount of community support and documentation
- Hugely popular amongst front-end enginners. Plenty of libraries available to provide additional functionality.
- Visual hierarchy mimics the hierarchy of html/jsx tags
- Ability to use styling variables and mixins throughout the entire application.
- Provides separation of concerns relative to other CSS in JS libraries; styling happens in
.scssfiles.
- Developer API used to retrieve massive amounts of movie data
- Data from this API powers the entirety of FlackFlix
REACT_APP_API_KEY - This is an API key provided by the Movie Database. Learn more here: https://www.themoviedb.org/documentation/api
- Location for images used in the application
- Contains React components used throughout the application.
- These components may appear in several different areas of the application. For example,
MovieListis used to build the Popular, Top Rated, and Now Playing views. It also is used to build the "More like this" and "Recommended" sections of the movie details view. - Each component directory contains an
index.jsfile for functionality, and a.scssfile for styling. - Whenever necessary, each
index.jsfile contains apropTypesobject which delineates the necessary props for a component to function properly.
- Contains any custom React Hooks
- Hub for the primary
.scssfiles - Includes global styles, variables, and imports of component styling folders.
- Contains variables used for ease of configuration, such as base URL's for movie poster images.
- Hub for different sections of the application from a user's perspective. (Example: "This is where I can view a movie's cast list." "This is where I can see related movies." "This is where I can see movies in theaters now.")
- Components inside
flackflix/src/componentsserve as the building blocks for the views. - Whenever necessary, each
index.jsfile contains apropTypesobject which delineates the necessary props for a component to function properly.