- More sophisticated colors for dark and light mode
- Improve LCP
- Improvement to error handling (capture errors w/ sentry)
- Better loading UI
- Better code colocattion and overall structure
- Improved accessibility
- Build a responsive movie search and details app using Next.js 13/14 and the TMDB API.
Homepage: /
- Implement infinite scrolling or a load more button on the homepage (Client-Side Pagination)
- Search bar in homepage
Movie details page: /movies/[id]
- Should be dynamic route
- Use SSR with ISR
- Show ecommendations (ISR)
Favorites/Watchlist with Server Actions /watchlist
- Using server action add to Favorites/Watchlist (store in localstorage)
OPTIONAL
- Dark mode toggle
- Global state using context or zustand
EXTRA (ADVANCED)
- Zod for API Response Validation
- React Hook Form for Search
- Dynamic Caching for API Calls
- Optimistic UI for Watchlist
- Middleware for Authentication (protect
/watchlist
)
- Node.js
v18.17.1
- Git
v2.3+
- Prettier editor integration
- Clone repository
git clone https://github.com/farhan2077/tmdb-task
- Change directory
cd tmdb-task
- Install dependencies
npm install
-
Add environment variables similar to
.env.example
-
Start development server
npm run dev
Open http://localhost:3000
in your browser.