The application layer
The application layer is all the logic related to the functioning of the ToDO list application. In this first step, we will indeed create a full, working application, but we will do this much like we would do with a normal web page (except for the availability of Node.js modules). Before writing even a single line of code, let's see which features will implement the application layer:
Load all the to-dos from the database on start
Add a new to-do when clicking on a given button
Each to-do item in the DOM will provide a way to the following:
Set the to-do status (completed/uncompleted) and save
Edit the to-do content and save
Delete the to-do
There is then a set of features that will be triggered by the NativeUI layer but will result in an action inside the application layer:
Show/hide completed to-dos
Change the to-do list background color
Sync the local database with the remote one
Export the to-do list in the JSON format
Once you've understood what the application will do, we...