Technology stack: AngularJS, code should be covered by unit tests as much as possible along with e2e tests.Nice to have feature: Dynamic support of both English and Russian (or any other) languages in UI with ability toswitch languages.Non functional requirements: Client Side only, persistence can be done into variable or to Html Local Storage.HTML layout: Use Bootstrap v3Application Flow: "List" - of existed contacts (contact has at least 4 fields:supports search, and group by group field. Link to "Insert New Contact". Link to "Edit Existed Contact".
- name: mandatory,
- surname: optional,
- phone number: mandatory,
- group: optional)
"Insert New Contact" - adding to the list of existed. Preferable implementation is sexy popup."Edit Existed Contact" - edit one from the list. Preferable implementation is sexy popup or inline editor.
list = {{list | json : object}}