The browser side HTML is routed from the Node.js server using ExpressJS. The initial page will setup the list of existing Todos from the database. The frontend includes the Axois library for communicating with the server (through GET and POSTs, etc). This communication makes use of JS Promises for making asynchronous requests.
Standard Bootstrap is used for styling – no special CSS required.
I spent a significant amount of time trying to setup an ability to switch between your local database and the cloud (Atlas) database. This failed to open or update; which I now believe was related to the asynchronous nature of opening the databases. I could not get the databases to close and open – I had to open both databases at startup and then flick between them.
In terms of development environment setup, it uses node and npm. Hence all you need to do locally is type “npm run start” The application is setup on to run on Heroku in the link below.
Note: There is a simple user name and password block (to prevent robots running amuck); just use User: “test” with Password: “test123“