For our semester-long software engineering project, we had a client from Capgemini who wanted to build an app to gamify the process of finding a contractor for IT related work.


The most enjoyable thing about this project was the WICKED TEAM. We were able to select teams and by finding some people that I got along well with, had similar expectations for what we wanted to achieve out of the subject, and had complimentary skill sets.


  • Backend - Django REST API
  • Frontend - Ionic Application
  • Infrastructure - Postgres database, hosted on Heroku


With 5 team members, we split up like so:

  • 2 backend (one was me)
  • 2 frontend
  • 1 both (this team member had the most experience)

The other roles that we had in the team were:

  • Product Owner
  • Architecture Lead
  • Development Environment Lead
  • Scrum Master
  • Testing Lead (me!)

The process of building this product was very much controlled and we attacked it very professionally. While we complained at times by the amount of documentation we were expected to produce, doing this allowed us to produce a well architected product while still employing an agile methodology. We ended up building all the functionality that we said we would and the client was very happy. He described our final presentation as the best he’s ever seen, even in the workplace, which was hugely rewarding.


  • Software Requirements Specification
  • Class, Sequence, Component and Deployment diagrams
  • API Documentation (through Postman)
  • Product Backlog (through JIRA)
  • Decision Log
  • Sprint Plans, Retrospectives and Reviews
  • Quality assurance plans
  • Acceptance, System, Integration, Unit and Coverage testing
  • Risk register
  • Deployment, Administrator and User Guides

User instructions video:

Functionality overview:

Source code and documents are all the property of the client and are therefore unavailable.