This is a movie discovery web application that allows users to search for movies, view details about them, and save their favorite movies. The app consumes data from the TMDB API.
Live Demo - Add the link to your hosted app here.
-
User Interface:
- Responsive and visually appealing design.
- Displays the top 10 movies on the homepage in a grid layout with movie posters.
- Movie cards display movie title and release date.
-
Movie Search:
- Users can search for movies by title.
- Displays search results, including movie posters, titles, and release dates.
- Loading indicator while fetching search results.
-
Movie Details:
- Detailed movie information when visiting the
/movies/:id
route (where:id
is the IMDb ID). - Displays title, release date (in UTC), runtime (in minutes), and overview.
- Detailed movie information when visiting the
-
API Integration:
- Consumes the TMDB API to fetch movie data.
- Uses the following API endpoints:
- Fetch movie details by ID:
https://api.themoviedb.org/3/movie/{movie_id}
- Fetch movie details by ID:
-
Error Handling:
- Implements error handling to display meaningful error messages to users in case of API failures or other issues.
-
Clone the repository:
git clone https://github.com/frontendbarbie/filmfind.git
-
Navigate to the project folder:
cd filmfind
-
Install dependencies:
npm install
Run 'npm start' - The app will be available at http://localhost:3000 by default.
To integrate with the TMDB API, you need to obtain an API key:
Go to the TMDB website. Create an account or log in if you have one. Generate an API key. Replace 'YOUR_API_KEY' in src/services/api.js with your actual TMDB API key.
Error handling is implemented for API failures. When an error occurs, an error message will be displayed to the user.
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
Fork the repository. Create a new branch for your feature or bug fix. Make your changes and commit them with descriptive commit messages. Push your changes to your fork. Submit a pull request to the main repository.
This project is licensed under the MIT License. See the LICENSE file for details.