PopcornBuddy is a movie information web app that allows users to discover trending, popular, top-rated, and upcoming movies. Users can also manage their favorite movies and watchlist. This project is built using Next.js, Tailwind CSS, MongoDB and the TMDB API.
- Features
- Deployment
- Getting Started
- Installation
- Running the Project
- Environment Variables
- API Integration
- Components
- Styling
- Contributing
- Credits
- Movie Discovery: Browse trending, popular, top-rated, and upcoming movies.
- Movie Details: View detailed information about each movie, including release date, genres, runtime, and overview.
- Favorites & Watchlist: Users can add movies to their favorites and watchlist.
- Responsive Design: Optimized for both desktop and mobile screens.
- User Authentication: Sign up, log in, and manage personal movie lists.
- The website is deployed on Vercel. You can visit the live site at: https://popcornbuddy.vercel.app/.
Before you begin, ensure you have the following installed:
Clone the repository and install the dependencies:
git clone https://github.com/your-username/popcornbuddy.git
cd popcornbuddy
npm install
To start the development server:
npm run dev
Visit 'http://localhost:3000' in your browser to view the app.
Create a '.env.local' file in the root directory and add your TMDB API key:
NEXT_PUBLIC_TMDB_API_KEY=your_tmdb_api_key
This project uses the TMDB API to fetch movie data.
- Popular Movies: 'movie/popular'
- Top Rated Movies: '/movie/top_rated'
- Now Playing Movies: '/movie/now_playing'
- Upcoming Movies: '/movie/upcoming'
- Movie Details: '/movie/{movie_id}'
- Genres: '/genre/movie/list'
Ensure your API key is correctly configured in the '.env.local' file.
The 'NavBar' component provides navigation across different pages, including Trending, Genre, and Top Rated movies. It also includes search functionality.
The 'MovieCard' component is used across multiple pages to display individual movie information such as title, release year, genres, and poster image. It also includes buttons for adding movies to favorites and watchlists.
This project uses Tailwind CSS for responsive and utility-first styling. Additional custom styles are defined in the 'styles' directory using CSS modules.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch ('git checkout -b feature/your-feature-name').
- Make your changes.
- Commit your changes ('git commit -m 'Add some feature'').
- Push to the branch ('git push origin feature/your-feature-name').
- Open a pull request.
This project was developed by the following collaborators:
- Mike Dohyun Lim: Frontend/Backend Developer
- Claudia Suarez: Frontend/Backend Developer
- Gaganjot Singh: Frontend/Backend Developer
Special thanks to the TMDB API for providing the movie data used in this project.