Skip to content

Latest commit

 

History

History
56 lines (37 loc) · 3.64 KB

FRONTEND.md

File metadata and controls

56 lines (37 loc) · 3.64 KB

VAI Frontend UI Developer

At VAI we work with modern web experiences optimized for mobile and desktop; solving the 21st century challenges for the automotive industry at big cities empowering people to drive without owning a car.

Overview

For this test you are going to build a Proof Of Concept application with the technologies of your choice. The app is going to fetch data from randomuser.com.

To complete this challenge, you will need to write a scalable React web app or React Native mobile app, and provide us with the source files so we can build it on our own to review.

Background

Your company just became so big that you need a new human resources dash to manage all its colaborators. As part of the onboarding process, the company wants to ask all new employees to create a company profile with their basic information so that the company can have easy access the employee data and monitor the company's colaborators. Some examples of how it will be used in the future are: know when it's someone's birthday, see everyone's role in the company and what department they belong to, send feedback and much more). Although it will take some time to build all of this functionality, for the MVP, The company needs the basics. (Ability to login-in, view all colaborators, and edit user profiles).

Requirements

Create a List and Detail View for a set of Users Profiles, use this API resource to fetch users and profiles.

  • it should use React or React Native, (pick other if you prefer, but since the role is for React, make sure you want to work if React if you send this test to us)
  • it should display a language picker and change the language as documented on Random Users Nationalities. This will translate the users' information.
  • it should have private(s) and public(s) page(s)/screen(s)
  • A login page to give access to restricted area
  • If the user is logged in, the home page should display the list of employees)
  • it should display a list of users as documented at https://randomuser.me/documentation#pagination
  • it should display each item as a card with basic information
  • when I click on a card, it should navigate to the user details and show all the information in the API response.
  • it should allow you to edit the user's information (in memory, not need to persist with API)
  • it should allow you to delete a user (in memory since randomuser doesn't have delete option)

Bonus points

  • Implement code splitting
  • Use storybook to develop your components, or other tool
  • Test your components e2e
  • Test your components for visual regression

Expected

UI Design

We do not provide a sketch file or prototype, we'll look for basic UI/UX abilities, pick a nice color pallete and follow good practices.

The Challenge

We'll be looking for simple, well-designed and tested code in the submission.

Please include a README:

  • setup instructions, and any tests or other documentation you created as part of your solution.
  • Add prints of your application in the repository and use them in the readme
  • How did you decide which technologies to use as part of your solution?
  • Are there any improvements you could make to your submission?
  • What would you do differently if you were allocated more time?

Details

Use your creativity to design the pages/screens in the best way you like. Also, you can use any global store like Redux or Mobx if you need it.