FDM Data Warehouse and Visualisation

The FDM Group are a graduate employer. They take graduate students, train them up then send them out into the workforce. They take thousands of recruits each year from across the UK.

I was tasked with leading a development team of eight students to create a new Data warehouse and visualisation platform for the company. Over twelve weeks, we created a full stack solution for FDM – whom went on to purchase the project. The solution was a web application using some of the latest technologies available at the time.

Project Management

As the project manager, I gained an incredible amount of experience using the Agile methodology to rapidly create this application. Each sprint of development consisted of 3-4 day periods. This allowed us to develop and experiment with various techniques and designs, because we could soon evaluate and adapt these in the next sprint. I arranged numerous meetings with FDM to gather feedback about our application, and overall this approach led to our code being selected for purchase from the corporation.


The User Interface layer was created to exist either on a public website or as an internal company intranet. It was developed using HTML5 and CSS3 for the visual elements of all the graphs, and all the UI logic was created using Javascript.

The Business layer of the project was a simple interface created in PHP between the HTML5/CSS3 User Interface and the MySQL database. The code was designed to be as efficient as possible. This was to ensure the enterprise level of data which was passed up from the database layer could be handled well.

The Data layer of the project consisted of a fully normalised MySQL Database. This was developed following a short period of research, where we experimented with various database products, including MongoDB. We built the SQL database because it would be simple to upkeep for the company and could be easily scalable for there enterprise sized data.

Since the code has now been purchased by FDM, it will not be publicly viewable.