Project with play with essential skills of a professor developer which includes version control, distribution, unittesting, documentation and project design