aayushgupta05 / spinWheel

Home Page:https://spinwheel-app.herokuapp.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spin Wheel (Assignment)

Application to spin a prize-wheel (once for each render to avoid redundant spins) depending on which the user will get a prize (data for which will be automatically uploaded to Google Sheets).

Setting up the Project

(Make sure you have NodeJS and NPM/YARN installed on your machine)

  1. Fork this repository.
  2. Clone the forked repository on your local machine using: git clone https://github.com/<username>/spinWheel.git. (Replace username with your own username)
  3. Install all the dependencies using yarn install.
  4. Create a copy of example.env and rename it to .env. Then create a Google Sheets API key and fill in details inside .env file.
  5. Finally start the application using yarn start.

Features Implemented

  • Design implemented similar to the given prototype except the power of rotation UI component (+ takes a mobile-sized container in the middle if opened on desktop/tablet)
  • Implemented swipe down to refresh anywhere on the screen (for mouse events)
  • Handled loading and error states
  • Code structured properly into pages and UI components
  • Result data uploaded to Google Sheet
  • Code deployed to a heroku instance (the first request timeouts before the instance is brought up into active state, server is successfully run and connected to Google Sheets API)
  • Rotate the wheel anti-clockwise and increase the power of rotation which is visible in the arrow below the wheel and once you leave it after it crosses the black mark, it rotates with higher power clockwise

About

https://spinwheel-app.herokuapp.com


Languages

Language:JavaScript 70.8%Language:SCSS 21.1%Language:HTML 7.5%Language:Shell 0.6%