Users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Navigate between Home, Movies, TV Series, and Bookmarked Shows pages
- Add/Remove bookmarks from all movies and TV series
- Search for relevant shows on all pages
- Bonus: Build this project as a full-stack application
- Bonus: If you're building a full-stack app, we provide authentication screen (sign-up/login) designs if you'd like to create an auth flow
Add a screenshot of your solution. The easiest way to do this is to use Firefox to view your project, right-click the page and select "Take a Screenshot". You can choose either a full-height screenshot or a cropped one based on how long the page is. If it's very long, it might be best to crop it.
Alternatively, you can use a tool like FireShot to take the screenshot. FireShot has a free option, so you don't need to purchase it.
Then crop/optimize/edit your image however you like, add it to your project, and update the file path in the image above.
- Solution URL: Add solution URL here
- Live Site URL: Add live site URL here
- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- CSS Grid
- React - JS library
Use this section to recap over some of your major learnings while working through this project. Writing these out and providing code samples of areas you want to highlight is a great way to reinforce your own knowledge.
To see how you can add code snippets, see below:
<h1>Some HTML code I'm proud of</h1>
.proud-of-this-css {
color: papayawhip;
}
const proudOfThisFunc = () => {
console.log("🎉");
};
If you want more help with writing markdown, we'd recommend checking out The Markdown Guide to learn more.
Use this section to outline areas that you want to continue focusing on in future projects. These could be concepts you're still not completely comfortable with or techniques you found useful that you want to refine and perfect.
-
Auto-Complete Widget (with keyboard Navigation)
-
Skeleton Loading
-
TMDB API Integration
-
React Router Loaders Refactor
-
useFetch
-
Pagination
-
TMDB Documentation
-
What different paths your application will use
-
Create environment variables to store API keys. And sanitize HTML.
-
Learn useReducer and custom hooks.
-
Loading animation when loading a new page.
-
Debouncing State
-
Keyboard Navigation autocomplete
-
Suspense, Error Boundary
-
Dropdown useReducer
- Custom Hooks and useFetch and use even more custom hooks if needed.
- useReducer
- Pagination
- TMDB API paths
- How to integrate TMDB API paths with the React Router
- /
- /movies
- /tv
- /movies/ || /movies/discover/ (useSearchParams)
- /tv || /tv/discover/ (useSearchParams)
- /tv/genre/
- /movies/genre
- movies/:id
- tv/:id
- movies/trending (useSearchParams for pagination)
- movies/popular
- movies/nowplaying
- movies/upcoming
- movies/toprated
- tv/trending
- tv/popular
- tv/airing
- tv/onair
- tv/top
All paths from 10 to 19 will show a same component.
Adding the case of when page is not given in search parameters default to 1. Add the same for discover when the genre is not given.
- Website - Add your name here
- LinkedIn - @yourusername