A simple React-based web application for users who want to discover popular movies, filter them by IMDb ratings, and learn more about individual films. The website uses the Model-View-Presenter (MVP) design pattern, which separates the application's code into three distinct layers, making it more modular and easier to maintain. The data for the movies is fetched from The Movie Database API, a powerful and widely-used source for movie details. Visit the live website to explore movies at https://abbasalubeidtrailertracker.netlify.app/.
- Discover the most popular movies available through The Movie Database API
- Search for specific movies
- Filter movies by IMDb ratings and more
- View detailed information about individual movies, such as cast and genre
- Watch movie trailers
To set up the project locally, follow these steps:
- Sign up for an API key from The Movie Database: https://www.themoviedb.org/signup
- Clone the repository:
git clone https://github.com/yourusername/TrailerTracker.git
cd TrailerTracker
- Install the necessary dependencies:
npm install
- Inside TrailerTracker/src/model, create a file called apiConfig.js the with the following information:
const BASE_URL = "https://api.themoviedb.org/3/";
const IMAGE_URL = "https://image.tmdb.org/t/p/w500/";
const API_KEY = "your_api_key_here";
export {BASE_URL, API_KEY, IMAGE_URL};
- Start the development server:
npm start
After completing the installation steps, the development server will open the Trailer Tracker website in your default web browser. You can use the search bar to find specific movies, filter by IMDb ratings, and click on individual movie cards to view more details.
Contributions are welcome! To get started:
- Fork the repository
- Create a new branch for your changes:
git checkout -b your-branch-name
- Make your changes and commit them:
git commit -m "your commit message"
- Push your changes to your fork:
git push origin your-branch-name
- Create a pull request from your fork's branch to the original repository
Please follow the project's coding standards and ensure your changes do not introduce new errors or warnings.