Create offline application for data entry forms. The UI is dynamically generated from JSON metadata (think about server sends JSON UI metadata for each user). For this project it is the client UI focus so JSON can be hardcoded but the client side application should be able to receive JSON from server side and generate the UI at run-time. Below are key requirements:
1) The application should work offline.
2) The client UI is generated using AngularJS with custom directives.
3) Generated UI should support these basic controls: Textbox, Checkbox, Radio button, Date picker, Pick list, Combo box, Multi-select list (or repeater control), Image (with the ability to take picture from tablet / phone). Lastly, future enhancement is the ability to enter text with voice instead of typing.
4) The client side application can save the data entered in local storage (indexDB or local file via FileSystem API). The offline form data can be sent to the server when the application is online.