Welcome to Popcorn Picks, a stylish and dynamic movie web application built with React, featuring smooth animations, a personalized watchlist, dynamic genre filtering, and a powerful search experience.
Swapnil Garg
- π Search Movies β Real-time search through TMDB.
- ποΈ Browse by Genre β Genre-based exploration of curated movies.
- π Trending Section β Discover trending movies dynamically.
- β€οΈ Watchlist β Add/remove movies to your personal list.
- π§ Smart Layouts β Interactive and responsive UI with animations.
- β‘ Reusable Components β Clean and modular structure for scalability.
- βοΈ React.js
- π Tailwind CSS
- π₯ TMDb API
- π Axios
- π§ GSAP (for animations)
- π¦ LocalStorage (for watchlist persistence)
frontend/
βββ public/
βββ src/
β βββ assets/
β βββ components/
β β βββ common/
β β β βββ AnimatedTitle.jsx
β β β βββ Button.jsx
β β β βββ Header.jsx
β β β βββ Footer.jsx
β β β βββ SearchInput.jsx
β β β βββ MovieRow.jsx
β β β βββ TrendingMovieRow.jsx
β β β βββ WatchlistButton.jsx
β β βββ HomeElements/
β β β βββ Explore.jsx
β β β βββ Genre.jsx
β β β βββ Hero.jsx
β β β βββ Home.jsx
β β β βββ MainContent.jsx
β β βββ MovieCard/
β β βββ MovieCard.jsx
β β βββ MovieCardHover.jsx
β β βββ MovieCardTrending.jsx
β β βββ index.js
β βββ services/
β β βββ tmdbApi.js
β βββ App.jsx
β βββ Layout.jsx
β βββ main.jsx
β βββ index.css
β βββ About.jsx
β βββ Search.jsx
β βββ GenrePage.jsx
β βββ Watchlist.jsx
βββ index.html
βββ vite.config.js
βββ .gitignore
βββ package.json
βββ package-lock.json
βββ README.md
git clone https://github.com/spacifier/popcorn-picks.git
cd frontend
npm installnpm run devThis project uses TMDB API to fetch movie data.
β Full movie detail page
β User login with Firebase
β Real-time synced watchlist
π Dark/Light mode toggle
π§ AI-based recommendations
Feel free to fork, star, and contribute! PRs are welcome π
This project is open-source