- User should be able to add, remove, update and preview a task
- User should be able to mark and unmark a task as
Completed - Persist the state of the ToDo List in an offline storage on the browser
- The state of the ToDo list should be saved in a remote service
Complete frontend layer of the problem statement, which includes the first 3 statements of the above requirements.
Finally integrate the frontend layer with the backend service created to store the user's Todo list remotely, as explained in the last statement of the above requirements.
- Should persist Todo state both offline and sync with an online service
- Should be built purely using JavaScript, no restriction on the version of JavaScript
- Should have a build system which will optimize the development and deployment process
- Vanilla JavaScript
- Web Components
- Use of Sass/Less/Stylus is permitted to maintain styles (optional)
- Use some form of a Node build system, recommendation Webpack
- Lite weight backend service, recommendation Express, Koa
- Lite weight storage solution, recommendation SQLite
- Remote hosting of the solution
- Capability to deploy static assets to an CDN
- Convert any ES6 and above code to ES5
- Convert any Sass/Less/Stylus to either css or JS induced styles
- Minify and uglify the output assets
- No use of DOM selector or manupilation libraries will be allowed
- No use of CSS frameworks will be allowed