A web application for managing your todo list. Not exactly a novel idea at this moment in time. The primary aim of this project is to practice web development with AngularJs backed by a Node.js server.
The client side of the application is built with AngularJS, with a little help from Angular's UI Bootstrap and Bootstrap.
Files are served up with a Node.js server that hosts static content from a public directory. The server also hosts a REST service for managing persisted objects.
Clone this repo
git clone https://github.com/mwindle/todos.git
You'll need a MongoDB database with a writable user account on it in order to run the application. With those available, create a file called secrets.js
in the root of the repository with at least the following configuration.
module.exports = {
mongoUrl: "mongodb://<dbuser>:<dbpassword>@<dbhost>:<dbport>/<dbname>"
};
Run the following from a shell with node installed.
npm install
node server
Then visit http://localhost:8000.
There's still plenty to do in order to make this application sing.
- Testing. At this moment, it's not good for much without any testing. Need to add client side unit and e2e tests, and unit tests for the server.
- Beautification. It doesn't look very good at the moment. Need to make it look and work great in mobile and desktop browsers.
- Robustness. Harden the client and server portions of the application to better handle failure cases.
- Performance. Resources on the page should be combined and minified where possible. Request counts made by the client need to be kept to a minimum.