- docker and docker-compose
- helm and minikube
git clone https://github.com/thobalose/todo-list-app.git ; cd todo-list-app/npm installnode app.jsVisit http://localhost:8080 in your browser
To run tests
npm testTo build a docker image for the todo-list-app and run it inside a container execute
docker build -t thoba/todo-list-app .The above with create an image with the latest tag. To run the container execute
docker run -it -p 8080:8080 --name todo_list_app thoba/todo-list-appYou can also use docker-compose if you have it installed. To build and run the latest source using docker-compose execute
docker-compose up --build -dand visit http://localhost:8080 in your browser
To deploy the application to Minikube kindly see todo-list-chart/.
- Multiple users should be able to view the shared public todo list
- Should be able to add items
- Should be able to delete items
- Should be able to edit items (Missing feature)
- Must be able to deploy in docker (Missing feature)
- Add missing requirement #4 to the application
- Add sufficient test coverage to the application and update readme on how to run the tests
- Add missing requirement #5 to the application (Dockerfile and update readme with instructions)
- Display test coverage after tests are executed
- Find and fix the XSS vulnerability in the application. Also make sure that it wont happen again by including a test.
- Add a Helm chart for the application that is deployable on Minikube along with the required readme entry.
- Update the code as needed and document what you have done in the readme below
- Will be nice if you can git tag the tasks by number
- Added
edittodo.ejspage to allow for editing of todo. - Used
method-overridemiddleware in order to usePUTHTTP verb to edit item. - Used
dockeranddocker-composeto containerized deployment. - Used
mocha,chai, andsupertestfor testing. - Used
istanbulto display test coverage. - Used
sanitizermodule to mitigate the XSS vulnerability. - Added Helm Chart.