Take home test: a SPA to keep your email addresses all in one place.
Created with Vue 3 and written in TypeScript:
- use of vue router and vuex 4
- additional dependencies: vuelidate, vuex-persistedstate, country-list, vue-fontawesome, uuid
- vuex store using modules
- form validation with vuelidate (required, email)
- component features: Base components globally registered, mixins for form fields
- unit tests for components
- responsive design based on grid & flexbox, mobile-first
- presents a list of all contacts (full name, email, country)
- possibility to add, edit, delete contact
- 'add contact' opens under separate route, 'edit contact' in a modal window
- button to reset all fields of the form
- notifications about changes dismounted automatically
Please note, you will need to have installed the vue-cli to run this project:
npm install -g @vue/cli
# OR
yarn global add @vue/cli
Yo will also need Node 10 at least and npm 6 with the latest updates.
npm install
npm run serve
npm run build
npm run test:unit
npm run lint