Skip to content

Instantly share code, notes, and snippets.

@jgardezi
Forked from hoanglamhuynh/Senior FE NFQ.md
Created May 2, 2019 04:15
Show Gist options
  • Save jgardezi/88021590b4cac3e8eb4f376baf7e04b8 to your computer and use it in GitHub Desktop.
Save jgardezi/88021590b4cac3e8eb4f376baf7e04b8 to your computer and use it in GitHub Desktop.
This test requires the candidate to work with React, Redux (or similar), HTML API (Location API) and third-party DOM API (Google Map). It also test the candidate's ability to work with remote data source (Google Firebase) as well as deploying application (Heroku, etc..). Nice-looking UI and good code structure is MANDATORY

1. Write an application in React JS:

Must use Redux or any state management libraries

  • Displays a list of Address in Vietnam. Each Address consists of street name, ward, district, city, country....
Street Name Ward District City Country
72 Le Thanh Ton Ben Nghe ward District 1 Ho Chi Minh city Vietnam
138 Hai Ba Trung Da Kao ward District 1 Ho Chi Minh city Vietnam
... ... ... ... ...
  • Use Google Firebase to store data

  • Must use a CSS framework: Bootstrap, Semantics or Foundation...

  • Must use a linting tool like ESLint, JSHint. Avoid inconsistent code style or syntax errors.

  • User can add an Address using ALL OF THE methods listed below:

    • Method1: Form with simple text inputs
    Validation rules are as followed:
    - "street" is always required
    - if "city" is present, then "ward" and "district" are not required
    - if "city" is not present, then both "ward" and "district" are required
    
    • Method2: A Google Map object
  • User can Edit an Address in the same manner as Adding an Address

  • When Adding or Editting an Address, user can have an option to pick their current location as well

  • User should be able to export a CSV file containing all of the Addresses

2. Push your application into any of Git service you like: GitHub, GitLab...

3. Deploy your application to Heroku or any server that you have

4. Send the Git URL and the running product back to [email protected]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment