Giter Club home page Giter Club logo

shopify-challenge-2021's Introduction

Shoppies 2021

This is my submission for the UX Developer Intern & Web Developer Intern Challenge for Summer 2021. The demo is hosted on Heroku and is available here. The site may time out due to Heroku's allocation of memory and uncaching of inactive apps. In this case, refreshing the page will often resolve this issue.

What is this?

Shopify has recently branched out in the movie award shows business, and this app allows users to create their own set of 5 movies from the OMDB as their nominations. This interface allows users to search the database and then add/remove nominations through an intuitive UI.

See here for the challenge description.

Technologies

This application uses the following technologies. Check out the package.json file for more details on dependencies.

  • React (create-react-app and Yarn)
  • Bootstrap 4

Features

Key Features

  • Search for movies through OMDB's API, returning and displaying helpful messages on bad queries
  • View details of each movie in a modal, such as director, plot, and other nominations
  • Add/remove nominations inside the details modal and outside of it.
  • Uses cookies to save users' nominations and creates a modal on load giving users the option to continue where they left off or start anew
  • Changes nominations section upon reaching 5 (max) nominations

Subtle Features/Development Choices

  • Searches happen automatically when the search query changes. To avoid overloading the OMBD API (especially with the daily limit), there is a buffer time of 0.5 seconds when the search query changes so as to not make calls to the API whilst typing.
  • The API key is stored as an environment variable and is excluded from the repository
  • Details modal is loaded ahead of the asynchronous calls to the API with a spinner in place until the promise is fulfilled

To-dos/Other Potential Features

  • The changing of the "olympics" style of nomination display to list style for smaller devices through the @media rule
  • The ability to share nominations with others through a query string on the URL
  • Aria labels and other modern accessibility features

shopify-challenge-2021's People

Contributors

bqin01 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.