Submitted by: Nicholas Matias
Estimated time spent: 40 hours spent in total
Deployed Application (optional): Flixster Deployed Site
- Display Movies
- Users can view a list of current movies from The Movie Database API.
- For each movie displayed, users can see its title, poster image, and votes.
- Users can load more current movies by clicking a button at the bottom of the list (page should not be reloaded).
- Search Functionality
- Users can search for movies and view the results in a grid.
- Users can clear results and view previous current movies displayed.
- Accessibility Features
- Website implements accessibility features (semantic HTML, color contrast, font sizing, alt text for images).
- Responsive Design
- Website implements responsive web design.
- Movie Details
- Users can view more details about a movie in a popup, such as runtime in minutes, backdrop poster, release date, genres, and/or an overview.
- Sorting Options
- Users can click on a filter by drop down to sort product by type (alphabetic, release date, rating).
- Layout
- Website displays header, banner, search, movie grid, about, contact, and footer section.
- Deployment
- Website is deployed via Render.
- Embedded Movie Trailers
- Within the popup displaying a movie's details, users can play the movie trailer.
- Watched Checkbox
- For each movie displayed, users can mark the movie as watched.
- Favorite Button
- For each movie displayed, users can favorite the movie.
- Sidebar
- Users can open a sidebar
- The sidebar displays the user's favorited and watched movies
-
Did the topics discussed in your labs prepare you to complete the assignment? Be specific, which features in your weekly assignment did you feel unprepared to complete?
The weather app lab this week related to what we were doing and helped me understand how to make API calls. This week, I felt much more equipped to complete the project despite using both React and API's for the very first time. For the required features, I felt comfortable with what was going on and was able to figure things out on my own a majority of the time. I felt unprepared for the embedded movie trailer stretch feature but after reading through the API documentation, I was able to figure it out.
-
If you had more time, what would you have done differently? Would you have added additional features? Changed the way your project responded to a particular event, etc.
If I had more time I would have finished the sidebar. Right now the sidebar has been created but the css isn't complete hence why I currently do not have it displayed on the site. Additionally, I would have used debouncing within the search API call so as to decrease the amount of API calls being made during search. This would increase the efficiency and optimize search in terms of API calls being made.
-
Reflect on your project demo, what went well? Were there things that maybe didn't go as planned? Did you notice something that your peer did that you would like to try next time?
The demo went well for the most part. I was able to answer everyone's questions in a manner that made sense to them which made me very happy. Following the presentation, I was also able to help a few of my peers implement features in a methodology similar to mine. I am aware that when I get nervous, I can start to move through things very fast. That said, I think I kept a good pace throughout the presentation. One thing I would like to improve upon is my public speaking. When I say this, I mean speaking more concisely and with fewer delays in thought.
N/A. Did not end up using any open source libraries.
Sammy once again was of great help. He helped me figure out the API calls earlier in the week. His help gave me the know-how and enabled me to then redo all of the API calls later in the week in a way that is much more efficient.