Skip to content

Dev test 1

H. Cole Wiley edited this page May 3, 2019 · 1 revision

Goal

Make a website using React, Firebase, and one other modern web technology of your choosing that meets the following acceptance criteria (AC):

  • As a user I can drag and drop a file onto the webpage
  • As a user I can view that file on the webpage
  • As a developer that file is uploaded to Firebase Storage
  • As a user I can see in some way that the file is being uploaded, and that when it has successfully been uploaded
  • As a developer something really cool happens with that uploaded file via a Firebase Cloud Function.
  • As a Scandy employee I can verify that something cool happened with the file via Cloud Function and access the file via a downloadable link.

Example:

A website that allows a user to drag and drop an image. The image is processed via the JavaScript File API and displayed via a canvas element (this would be the other modern web technology). This file is uploaded to Firebase Storage. A cloud function listening to this upload location would trigger a stamp tool that overlaid a smiley face with the text “APPROVED!” or a sad face with the text “DENIED!” at random. This resulting stamped image would be uploaded to Firebase Storage and an email with a link to the resulting file gets emailed to a configured email account.

Advice

Be careful about where and how you spend your time. Spending hours working on the perfect loading animation is not necessary for this project. This doesn't have to be gorgeous or silky smooth, just meet the AC.

Remember to commit your code regularly and you commit messages should be meaningful. We will judge you harshly for submitting a PR with 1 commit that says "donzo", unless that PR comes 30 minutes from the time you forked it.

We're specifically not giving a starter project because where you start matters! Choose wisely...

Submission Requirements

  • Track your time!
    • This should take 2 - 5 hours depending on your experience level and the “something really cool” factor
    • If you’re looking for a helpful way to track time we use Toggl
  • Submit a PR to this repo
    • You should fork this repo to start so you can submit this repo.
  • You do NOT have to push this code to production.
  • We will clone your fork, follow your README.md, and get things running locally for ourselves.
  • We'll make our own Firebase keys so don't worry about sharing yours.
  • If you make wireframes, take notes, or keep a dev log please share so we can your review process.

Helpful Links

Clone this wiki locally