-
Notifications
You must be signed in to change notification settings - Fork 197
feat: Flixter - Pull Request to base repo #64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jasynj
wants to merge
19
commits into
codepath:main
Choose a base branch
from
jasynj:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
a212b3b
feat: created MovieCard component that displays data from API
jasynj d5fe3a0
feat: Added movielist component
jasynj 7c520e9
Created search-form
jasynj 1cfb8fb
feat: IMPLEMENTED WEBSITE DESIGN, chose color scheme and website them…
jasynj 0e35622
feat: added load more button
jasynj d07ab11
Added responsive design for Add.header
jasynj 915b10f
feat: add MovieModal and CSS for dynamic movie detail popup, updated …
jasynj 5cd679c
chore: add .env to gitignore
jasynj 402ac4c
style: tweaked modal info grid arrangement, converted px units to rem
jasynj 656266e
feat: Implemented drop-down menu and functionality
jasynj 40afa37
feat: add favorite/watched toggles and sidebar navigation with filtering
jasynj ebffc7e
style: Updated liked/watched icons and edited sidebar styling
jasynj 594f8a5
bugfix: connected sidebar.css
jasynj 420d182
feat: added modal thumbnails for video preview
jasynj 53e5c83
style: final changes and formatting
jasynj b8198a1
Bugfix: moved header to front
jasynj b237211
Update README.md
jasynj bcc4e0a
Added walkthrough video to README
jasynj 8536e31
Update src/index.css
jasynj File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| VITE_API_KEY = 464a3d2aadb72eb600aea451534369b7 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,140 @@ | ||
| # React + Vite | ||
| ## WEEK 2 : Flixster | ||
|
|
||
| This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. | ||
| Submitted by: Jason Chimdinma Jason | ||
|
|
||
| Currently, two official plugins are available: | ||
| Estimated time spent: 36 hours spent in total | ||
|
|
||
| - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh | ||
| - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh | ||
| Deployed Application (**required**): [Flixster Deployed Site](https://flixster-starter-5ate.onrender.com) | ||
|
|
||
| ### Application Features | ||
|
|
||
| #### REQUIRED FEATURES | ||
|
|
||
| - [x] **Display Movies** | ||
| - [x] Users can view a list of current movies from The Movie Database API in a grid view. | ||
| - [x] Movie tiles should be reasonably sized (at least 6 playlists on your laptop when full screen; large enough that the playlist components detailed in the next feature are legible). | ||
| - [x] For each movie displayed, users can see the movie's: | ||
| - [X] Title | ||
| - [X] Poster image | ||
| - [X] Vote average | ||
| - [X] Users can load more current movies by clicking a button which adds more movies to the grid without reloading the entire page. | ||
| - [X] **Search Functionality** | ||
| - [X] Users can use a search bar to search for movies by title. | ||
| - [X] The search bar should include: | ||
| - [X] Text input field | ||
| - [X] Submit/Search button | ||
| - [X] Clear button | ||
| - [X] Movies with a title containing the search query in the text input field are displayed in a grid view when the user either: | ||
| - [X] Presses the Enter key | ||
| - [X] Clicks the Submit/Search button | ||
| - [X] Users can click the Clear button. When clicked: | ||
| - [X] Most recent search results are cleared from the text input field and the grid view and all current movies are displayed in a grid view | ||
| - [X] **Design Features** | ||
| - [X] Website implements all of the following accessibility features: | ||
| - [X] Semantic HTML | ||
| - [X] [Color contrast](https://webaim.org/resources/contrastchecker/) | ||
| - [X] Alt text for images | ||
| - [X] Website implements responsive web design. | ||
| - [X] Uses CSS Flexbox or CSS Grid | ||
| - [X] Movie tiles and images shrink/grow in response to window size | ||
| - [X] Users can click on a movie tile to view more details about a movie in a pop-up modal. | ||
| - [X] The pop-up window is centered in the screen and does not occupy the entire screen. | ||
| - [X] The pop-up window has a shadow to show that it is a pop-up and appears floating on the screen. | ||
| - [X] The backdrop of the pop-up appears darker or in a different shade than before. including: | ||
| - [X] The pop-up displays additional details about the moving including: | ||
| - [X] Runtime in minutes | ||
| - [X] Backdrop poster | ||
| - [X] Release date | ||
| - [X] Genres | ||
| - [X] An overview | ||
| - [X] Users can use a drop-down menu to sort movies. | ||
| - [X] Drop-down allows movies to be sorted by: | ||
| - [X] Title (alphabetic, A-Z) | ||
| - [X] Release date (chronologically, most recent to oldest) | ||
| - [X] Vote average (descending, highest to lowest) | ||
| - [X] When a sort option is clicked, movies display in a grid according to selected criterion. | ||
| - [X] Website displays: | ||
| - [X] Header section | ||
| - [X] Banner section | ||
| - [X] Search bar | ||
| - [X] Movie grid | ||
| - [X] Footer section | ||
| - [X] **VIDEO WALKTHROUGH SPECIAL INSTRUCTIONS**: To ease the grading process, please use the [color contrast checker](https://webaim.org/resources/contrastchecker/) to demonstrate to the grading team that text and background colors on your website have appropriate contrast. The Contrast Ratio should be above 4.5:1 and should have a green box surrounding it. | ||
| - [X] **Deployment** | ||
| - [X] Website is deployed via Render. | ||
| - [X] **VIDEO WALKTHROUGH SPECIAL INSTRUCTIONS**: For ease of grading, please use the deployed version of your website when creating your walkthrough. | ||
|
|
||
| #### STRETCH FEATURES | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Awesome job on completing all required and stretch goals.
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thank you! |
||
|
|
||
|
|
||
| - [X] **Embedded Movie Trailers** | ||
| - [X] Within the pop-up modal displaying a movie's details, the movie trailer is viewable. | ||
| - [X] When the trailer is clicked, users can play the movie trailer. | ||
| - [X] **Favorite Button** | ||
| - [X] For each movie displayed, users can favorite the movie. | ||
| - [X] There should be visual element (such as a heart icon) on each movie's tile to show whether or not the movie has been favorited. | ||
| - [X] If the movie is not favorited: | ||
| - [X] Clicking on the visual element should mark the movie as favorited | ||
| - [X] There should be visual feedback (such as the heart turning a different color) to show that the movie has been favorited by the user. | ||
| - [X] If the movie is already favorited: | ||
| - [X] Clicking on the visual element should mark the movie as *not* favorited. | ||
| - [X] There should be visual feedback (such as the heart turning a different color) to show that the movie has been unfavorited. | ||
| - [X] **Watched Checkbox** | ||
| - [X] For each movie displayed, users can mark the movie as watched. | ||
| - [X] There should be visual element (such as an eye icon) on each movie's tile to show whether or not the movie has been watched. | ||
| - [X] If the movie has not been watched: | ||
| - [X] Clicking on the visual element should mark the movie as watched | ||
| - [X] There should be visual feedback (such as the eye turning a different color) to show that the movie has been watched by the user. | ||
| - [X] If the movie is already watched: | ||
| - [X] Clicking on the visual element should mark the movie as *not* watched. | ||
| - [X] There should be visual feedback (such as the eye turning a different color) to show that the movie has not been watched. | ||
| - [X] **Sidebar** | ||
| - [X] The website includes a side navigation bar. | ||
| - [X] The sidebar has three pages: | ||
| - [X] Home | ||
| - [X] Favorites | ||
| - [X] Watched | ||
| - [X] The Home page displays all current movies in a grid view, the search bar, and the sort movies drop-down. | ||
| - [X] The Favorites page displays all favorited movies in a grid view. | ||
| - [X] The Watched page displays all watched movies in a grid view. | ||
|
|
||
| ### Walkthrough Video | ||
|
|
||
|
|
||
| [WALKTHROUGH VIDEO](https://www.loom.com/share/4b1b3fd186ca4d41a64356b68e177e92?sid=9be1bf7f-1f08-4537-9717-029b8728b642) | ||
|
|
||
| ### Reflection | ||
|
|
||
| * 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? | ||
|
|
||
| Yes, the labs provided a strong foundation for building this assignment. Topics like fetching data from APIs, JSX rendering with dynamic props, and React hooks (useState, useEffect) were especially helpful. However, I initially felt unprepared when implementing the modal component for movie details. Managing component state and ensuring proper data flow between the movie card and modal took extra time and effort to figure 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. | ||
|
|
||
| Implemented lazy loading for movie images to improve performance. | ||
|
|
||
| Added a search bar and filter dropdown to let users filter movies by genre or rating. | ||
|
|
||
| Improved the mobile responsiveness and optimized how movie cards stack on smaller screens. | ||
|
|
||
| Added a loading spinner or skeleton UI while fetching data, to enhance the user experience. | ||
|
|
||
| * 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 overall — the app loaded correctly, the movie cards rendered dynamically, and the hover/animation effects added polish. One thing that didn’t go as planned was a slight delay in loading some movie data, which could have been addressed with a loading state. | ||
|
|
||
| One cool thing I noticed during my peer's demo was their use of a favorites feature where users could click a heart to save movies to a favorites list. I’d love to try adding that in the future, possibly with local storage or a simple backend. | ||
|
|
||
| ### Open-source libraries used | ||
|
|
||
| -React | ||
| -TMDB API | ||
|
|
||
| ### Shout out | ||
|
|
||
| Give a shout out to somebody from your cohort that especially helped you during your project. This can be a fellow peer, instructor, TA, mentor, etc. | ||
| TA - Jesus Perez | ||
| Intern Manager - Ameya Gawde | ||
| Peer mentors - Adam Chappell, Ishan Balar | ||
| Paige & Michelle(Tech Fellows) - for all the vocal and technical support | ||
| King Igbozuruike & Angel Balogun & Eniola Farinde - My friends/support system who kept pushing me to go farther and implement as much as i can | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great improvement on speed and productivity from last assignment!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the advice!