Welcome to Cinemate, a sleek and modern movie and TV show discovery platform. This React-based application provides a seamless experience for exploring popular and top-rated content, complete with dark mode and a responsive design.
- React: A powerful JavaScript library for building user interfaces.
- Tailwind CSS: A utility-first CSS framework for designing responsive and modern UIs.
- TMDB API: The Movie Database API, used for fetching movie and TV show data.
- FlowBite: A library of pre-built components compatible with Tailwind CSS, used for enhancing UI elements.
Cinemate is a five-page website designed to offer a comprehensive browsing experience for movie enthusiasts. The application features:
-
Movie Categories 🎞️: Users can explore movies and TV shows by categories such as popular and top-rated. The content is dynamically fetched from the TMDB API, ensuring up-to-date information.
-
Dark Mode 🌙: A dark mode feature is implemented using Tailwind CSS, providing a comfortable viewing experience, especially in low-light conditions.
-
FlowBite Components 💻: Key UI elements like the header, footer, and movie cards are designed using FlowBite components, offering a cohesive and visually appealing design.
-
Search Functionality 🔍: A search option is available for users to find specific movies or TV shows. This feature utilizes the
useSearchParams()hook to manage query parameters and fetch relevant data from the TMDB API. -
Detailed Movie Page 📄: Clicking on a movie or TV show redirects users to a detail page, showcasing comprehensive information such as the title, description, release date, ratings, and more.
-
Error Handling 🚫: The application gracefully handles situations like "Page Not Found" and missing images, ensuring a smooth user experience even in edge cases.
To run Cinemate locally, follow these steps:
-
Clone the repository:
git clone https://github.com/Ankit-Kum-ar/cinemate.git
-
Navigate to the project directory:
cd cinemate -
Install dependencies:
npm install
-
Set up environment variables:
Create a
.envfile in the root directory and add your TMDB API key:REACT_APP_TMDB_API_KEY=your_tmdb_api_key -
Start the development server:
npm start
- Open your browser and go to
http://localhost:3000. - Browse through different categories, search for movies or TV shows, and explore detailed pages for each selection.
- Responsive Design: Cinemate is fully responsive, ensuring a seamless experience across desktop and mobile devices.
- Dynamic Data: All movie and TV show data is fetched in real-time from the TMDB API.
- Dark Mode: Toggle between light and dark modes for an optimal viewing experience.
Visit the website ✌️: cinemate-psi.vercel.app
We welcome contributions! If you'd like to contribute to Cinemate, please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Open a pull request.
Thank you for exploring Cinemate! I hope you enjoy discovering movies and TV shows as much as I enjoyed building this app. 🍿🎉