2 lists of "white" and "spam", w/o backend, add record, edit, remove, mark as "spam", unmark it, unit tests, filter lists.
Solved as task "Implement Address Book" with list of requirements (written in HTML section).
For all "SUCCESS" tests remove all records without phone numbers or any text in "phone" field.
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<div class="bg-info">
<div style=float:right;padding-right:4px><i>Created: 2014-03-10 by <a href=http://spmbt.github.io/spmbt/>spmbt</a></i></div>
<strong>Task</strong>: <u>Implement Address Book</u>.</div>
<blockquote><small><div class=task>
<div class="text-info"><strong>Technology stack</strong>: <span class="text-danger"><abbr title="Google MVC Library" class="initialism">AngularJS</abbr>, code should be
covered
by unit tests</span> as much as possible along with <abbr title="End-to-End Test" class="initialism"><a href=http://www.techopedia.com/definition/7035/end-to-end-test>e2e</a> tests</abbr>.</div>
<div class="text-info"><strong>Nice to have feature</strong>: Dynamic support of both English
and Russian (or any other) languages in UI with
ability toswitch languages.</div>
<div class="text-info"><strong>Non functional requirements</strong>: Client Side only, persistence
can be done into variable or to Html Local Storage.</div>
<div class="text-danger"><strong>HTML layout</strong>: Use <a href=http://getbootstrap.com/css/>Bootstrap v3</a></div>
<div class="text-info"><strong>Application Flow</strong>:
"List" - of existed contacts (contact has at least 4 fields:
<ul class="text-warning"><li><em><u>name</u></em>: mandatory,</li>
<li><em><u>surname</u></em>: optional,</li>
<li><em><u>phone number</u></em>: mandatory,</li>
<li><em><u>group</u></em>: optional)</li></ul>
supports search, and group by group field. Link to "Insert New Contact".
Link to "Edit Existed Contact".
</div>
<div class="text-info">"<span class="text-warning">Insert New Contact</span>" - adding to the list of existed.
Preferable implementation is sexy popup.</div>
<div class="text-info">"<span class="text-warning">Edit Existed Contact</span>" - edit one from the...