Initially the database needed to be built, it required a large amount of planning and mapping out. The data that they wanted to collect was already established and was being collected via other sources. The key was to build the database in a way that it could easily collect from these external sources. Once a baseline was established for the system next came the base function of the site.
The functionality was fairly simple, data would get entered into a form which was then submitted and added to the database. The complexity that had to be built was the automated processes. Things like, when a job was completed an invoice was automatically raised and alerted the accounts department or a support ticket was raised, and then the development team had to be notified of the issue and that there was a new ticket.