Implement items management system using angular 1.x and provided mocks as a reference . Source code should be saved on GitHub with all local commits.
####Pages:
- Items table view.
- Items tile view.
- Create/edit item.
####Global requirements:
- All pages should have navigation bar that highlights current page.
- At least two pages worth of items should be available on app start.
- Items added by user are persisted after page reload.
- The app should work at least in the last version of the following browsers: Google Chrome, Mozilla Firefox, Microsoft Edge.
- Same page should be opened after reload.
- Every page should have unique URL (like /items?view=table, /items/:id and so on).
- Use backend-less development with $httpBackend (AngularJS $httpBackend docs).
- Use Bootstrap for implementing UI.
####Pages 1 and 2 should:
- Display items in corresponding manner (table or tiles).
- Have pagination. It should be possible to change items per page and current page.
- Provide text search by all visible text properties.
- Open "Create/edit item" page when clicking on item title.
####Page 3 should:
- Allow to add or edit items. Adding mode is opened by clicking on navbar "Create/edit item" button, edit mode is opened by clicking on item title on either of two view pages.
- Require validation. All fields should be at least required. Extra validation rules like numbers only, max length, pattern matching and so on are welcome.
- Open table view after successful saving, deleting or canceling.
- Allow to reset changes in edit mode. If no changes were made, the button should be disabled.
- Be able to delete edited item. User should be prompted if he really wants to remove the item with modal dialog.
- Be able to change item image. Image can be select either by dropping it into designated area or file select prompt that appears after clicking on it. Image is required.