Giter Club home page Giter Club logo

se-challenge-ux's Introduction

Wave UI/UX Engineering Challenge

Applicants for the UI/UX Engineer role at Wave must complete the following challenge, and submit a solution prior to the on-site technical interview.

The purpose of this exercise is to create something that we can work on together during the on-site. We do this so that you get a chance to collaborate with Wavers during the interview in a situation where you know something better than us (it's your code, after all!).

We also want to give you a feel of what you could expect to work on in this role. You will be required to work extensively with React in this role, so we would like to evaluate your skills using React with this exercise.

There isn't a hard deadline for this exercise; take as long as you need to complete it. However, in terms of total time spent actively working on the challenge, we ask that you not spend more than a few hours, as we value your time and are happy to leave things open to discussion in the on-site interview.

Feel free to email [email protected] if you have any questions.

Scenario

Imagine that the design team at Wave has recognized two places that use a similar UI component to provide insights to our users. We want to formalize this by implementing a reusable component in our design library. (Think of this component as a Lego block that can be used in multiple places.)

You have been provided with this Figma file outlining the design details of this component. (You will be able to view the file without an account, but will need to be logged into a free Figma account to view elements' detailed properties in Figma's Inspect panel). If you are not familiar with using Figma, start on this page where we have included some basic tips on using the tool. Please use your judgement when referencing the CSS generated by Figma in the Inspect panel, as it's often overcomplicated or includes unnecessary properties.

Project requirements

  1. Implement the Insights component as a React component, using Typescript or Javascript. (The project is set up to support either, but there are bonus points for using Typescript.)

insights component preview

  1. Implement styling for the Insights component using SCSS or vanilla CSS. (The project is set up to support either.)
    a) The Figma designs use Lato as the font (Regular and Bold). This font is available through Google fonts.
    b) Do not use Styled Components as our current ecosystem does not support this and we want to evaluate you based on what you’ll actually be working with in this role.

  2. Use Typescript or PropTypes to define appropriate datatypes for your component.

  3. Implement the component to work on at least one of the following sizes as defined in the Figma file:
    a) Wide screen sizes
    b) Medium screen sizes
    c) Narrow screen sizes

  4. Update the App.tsx file to render/use your insights component.

  5. Optional: Write test(s) for your component. We know you might be pressed for time, so we won’t consider the absence of tests as a negative. (The project is set up to use Enzyme or React Testing Library)

How to run this project

yarn 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.

yarn test

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

Documentation

Please answer the following questions by committing your answers to this README.md

  1. How did you test/verify that your implementation was correct?
  2. Would you make any further changes to your solution before shipping/releasing?
  3. What compromises, if any, did you have to make as a result of the time constraints of this challenge?
  4. What assumptions, if any, did you have to make to complete this exercise?

Submission instructions

  1. Clone the repository. (please don't push your code submission as a public branch of this repo)
  2. Complete your project as described above within your local repository.
  3. Ensure everything you want to commit is committed.
  4. Create a git bundle: git bundle create your_name.bundle --all
  5. Email the bundle file to [email protected] and CC the recruiter you have been in contact with.

Evaluation

  1. Did you follow the instructions for submission?
  2. Does your submission implement the insights component?
  3. Did you complete the steps outlined in the Documentation section above?
  4. Does your solution use appropriate data types?
  5. Can your component be easily used on multiple pages?

se-challenge-ux's People

Contributors

jaclyneooi avatar tjaartvanderwalt avatar wvchallenges avatar

Stargazers

 avatar

Watchers

 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.