A React-Based Movie Search webapp.
Responsive Movie app using React, the TMDB API, and Sass. It was used to retool or get a better understanding of React, themovieDb API for movie info and search functionalities and Sass for styling, and Cypress for testing.
Original Reference material - https://youtu.be/ntYXj9W1Ez8
Changes to be included :
- Fix branding to a unique branding ( icon included).
- Link to Github repo in the footer.
- Sticky navbar.
- filtered Results (it displays results as you type).
- Themed using NetFlix's theme.
- Themed footer.
- Fix slider
Uses:
- React ~ Framework
- Google font
- Boxicons
- Images
- API
- Improve data security ( hide Api keys v1)
- Apply a new color scheme (use Netflix as a reference).
- Add a light and dark mode.
- Add back to portfolio btn or back to github btn.
- Create a sticky navbar.
- Integrate Cypress testing.
- Create 7 handwritten tests (See Mark's notes) && this => https://tinyurl.com/yeyt7fum
- Create a code style// implement a linter that runs via git push
- Create a test that runs before merging to main as a GH actions.
- Update the ReadMe to project standards.
See issues.
- Refactor the code in TypeScript
- Add a hover to the search (white highlight to the input).
- Refactor the whole app in TypeScript
Create issues on the repo if errors are seen and they will be addressed them after todos are completed. See issues on github.
MIT License Copyright (c) [2021] Me/@Nerajno
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Inspiration, code snippets, etc.
- Florin Pop's Movie App
- Florin Pop
- Responsive React Movies App With API | ReactJS Movies | ReactJS Tutorial
- String interpolation.
- New-er Sass methods (@use && @forward).
- Pathing structure ( relative or absolute).
- Environmental variables in Netlify => https://tinyurl.com/62pcv6ep
- Implementation of Sass in a react env and good reasonings why.
- Mixins and its modern implementation.
- Cypress and cypress studio.
- Mixins
- Cypress functions (cy.spy)