Coding task for FrontEnd Developer

The task is to build a part of front-end section of a system. It should be done in max 7 days after receiving it if not communicated otherwise.

Task

Things to do

  1. Create a form to allow the user to enter
    1. Name
    2. Gender
    3. Phone
    4. Email
    5. Address
    6. Nationality
    7. Date of birth
    8. Education background
    9. Preferred mode of contact (select one from email, phone, none)
    10. You can be creative with the fields. The user should be allowed to select the date of birth from any standard date-picker package
    11. Add relevant front-end validation to the form
    12. After form submission, if fields are valid display the records in a nice format

Things to consider

  1. As the task is pretty-easy, we will look into the coding design part of things, just making it work is not enough.
  2. Naming for methods, variables, file names, folder structures will be checked.
  3. Your git commit history will tell a story of how you thought of the solution please be mindful of it. If you use Pull request to come to your solution its even better.
  4. Code it so that the next person who continues that work will like it and not hate the code. Think maintainability of code.
  5. Tip: First break your task into logical parts then code it. (First solve the problem. Then write code. - John Johnson)
  6. Tip: Commented code is bad, relevant comments about code will be necessary.
  7. Tip: Try to write HTML codes in BEM pattern and follow specific Javascript Style Guide. Let us know which style guide you have followed in the README.md E.g. Airbnb, Github

Rules/Requirements

  1. This task needs to be completed and submitted back within 7 days of receiving it, if not stated otherwise.
  2. You must use Vue.js for solving this task. The record should be displayed in different Vue Component than the one used for the input form. You are advised to use Vuex to persist the input data to display in another component.
  3. You must have a README.md file in the root, well formatted in markdown (like the one you are reading now) that explains your solution.
  4. Use of any extra open-source library or package is allowed.
  5. You must use git and submit this task as a private or public git repository on github/bitbucket another option is a zip/tar file.