YashArora0606 / Shopify-Frontend-Application-Fall-2021

Shopify Fall 2021 Frontend Engineer Internship Challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Check it out!

Deployed Project Link: https://shopify-frontend-yash-arora.netlify.app/

Project details and requirements

What it does

Basic functionality

  • Search OMDB and display movie results (title and year).
  • Add movies from search results to a nomination list.
  • Disable nomination button if movie has already been nominated.
  • View the list of nominated movies.
  • Remove movies from the nominations list.
  • Limit the user at 5 nominations.
  • Show a banner when the user has reached 5 nominations.

Extras!

Themes

  • The dropdown menu at the top of the page allows you to change the theme across the entire application.
  • This component is powered by the Shopify Polaris Popover and Actionlist React Components.

Saving

  • Clicking the save button once you've nominated some movies saves them to the browser's local storage and displays a banner. You can come back and revisit your nominations at any time!
  • Changing the theme of the app will automatically update the local storage, so your theme is always saved!

Movie Info

  • Clicking on a movie from the search results or nominations list brings up a modal with additional information, including the actor(s), director(s), plot, poster, and rating (shown as stars).
  • The Movie Info view is powered by the Shopify Polaris Modal React Component.

Testing

  • All tests are written using Jest/Enzyme, and test the functionality of the application. See Available Scripts for more information about testing and coverage!

CI/CD

  • This app is deployed via Netlify, and runs tests upon pushes to the Github Repository main branch. Builds must pass all tests before being automatically deployed to production.

Mobile Compatibility

  • The application is designed to work just as well on mobile as it does on desktop!

Available Scripts

In the project directory, you can run:

npm run start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

npm run test

Launches the test runner in the interactive watch mode.
See the section about running tests for more information.

npm run cover

Launches the test runner and generates an html view of the code coverage.
See the section about running tests for more information.

npm run pretty

Cleans up all code using the prettier configurations.

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

About

Shopify Fall 2021 Frontend Engineer Internship Challenge


Languages

Language:TypeScript 88.8%Language:SCSS 7.6%Language:HTML 3.4%Language:CSS 0.2%Language:Shell 0.1%