D   A   T   A   W   O   K

Creation: March 06 2018
Modified: February 05 2022

Advanced Techniques and Tools for Software Development


ToDDo is a simple todo-list web application implemented using some of the “state of the art” development techniques and tools available today.

The application is trivial "by-design" and acts more as a working medium used to illustrate how the various techniques and tools we'll see fits together in a test driven development process.

As such, it should be used as a didactical tool and its not meant for production.

Document content

The Project

This section describes the ToDDo application from both a design and an implementation point of view.

This part also shows how to use the application user interface and the user authentication procedure.

Development Tools

The core of this document.

In this long section we’ll examine some of the more advanced tools and techniques used in software development.

Test driven development, mocking, continuous integration, code coverage, static analysis with the support of widespread tools like Git and Github, Travis-CI, Doker and SonarQube.

Known Issues

Problems that are known and for which a solution has not been found or that requires an investigation and techniques that are out of the scope of this document.

Additional Notes

Supplementary notes that are worth to be read.

Appendix 1 - Django Overview

A very high level description of the Django framework architecture.

This paragraph is not meant to be a complete tutorial of the software, is just an explanation of the core components that would be useful to better follow some parts of our discussion if you’ve never used the framework.

Appendix 2 - Quickstart

Essential steps that are required to quickly get the application up and running.

Project Links


Proudly self-hosted on a cheap Raspberry Pi