Department for Environment, Food & Rural Affairs (DEFRA)
The Marine Management Organisation (MMO) sponsored by the Department for Environment, Food & Rural Affairs (DEFRA) required a new system with the ability to create export catch certificates. These certificates would enable fishermen in the UK to export their catches to any of the EU countries. This new system needed to be implemented without any disruption or be impacted by any decision related to Brexit. As part of the EU exit projects MMO & DEFRA needed to create this system in advance of the original EU exit date of March 31st 2019.
The successful creation and implementation of this service was vital as it is estimated that UK fishermen export around £2.4 billion worth of fresh and processed fish to EU countries. This meant that any disruption to the process would have had a large-scale negative impact on the economy.
Key requirements included having the system work in real time with minimal downtime to ensure continuity. Additionally the system would need to be designed specifically to meet user needs which included a seamless user experience.
To create a ‘catch certificate’ or ‘processing statement’ fishermen would be required to log two key pieces of information:
The information of every fish species that can be caught in the UK is kept and maintained by the Centre for Environment, Fisheries and Aquaculture Science (CEFAS) who hold the master species data. However not everyone calls fish species by the same name so it was mandatory to keep a record of all the common names that the species may be referred to as.
The vessels list is managed by different teams and is not a static list, meaning the vessels could be licensed to different companies which requires tracking.
In order to pull the separate data sets and normalize them in a way that enabled quick search was vital. Any time lag in certificate creation could result in degradation in the value of the fish, making operational efficiency key. In addition, the solution needed to be integrated with common components such as the DEFRA identity management solution and several government departments with disparate data sources.
This ‘catch certificate’ process was non-existent with the UK being part of the EU which led to a major data quality issue due to UK fishermen having never needed to produce these certificates before. Exports to non-EU countries were minimal so manual creation was manageable and easy up to this point. However the demand for these certificates had drastically increased from approximately 500 certificates manually to 500,000 per year.
The data collected from various departments for species and vessels would be pushed into Azure blob storage and we used our Java backend to collate all of the data into Azure cosmos database. The API exposed by this backend was consumed by the front end in various parts of the journey.
Once all the relevant data to create the catch certificate had been gathered it was pushed into Azure cosmos database. Additionally, we gave the system the ability to generate a PDF with a QR code so security officers at the border are able to quickly scan and confirm the authenticity of the document.
Our idea was to create a Node.js front end. We used React and server side React to support both JS and no JS browsers. The front end would query the back end for all the data and the backend was implemented in Java 8, Spring Boot Service.
The Spring boot application was required to:
The solution devised and built by the Scrumconnect team was available well in advance of the original deadline of 31st March 2019. All beta users found the system to be intuitive and quick to generate certificates. We integrated the external systems with the Azure app which gave us insights and detailed monitoring which meant that if there were any challenges with data, the issue could be identified and rectified quickly. As we designed this solution from the ground up, we ensured it would be ultra efficient when querying for data. This meant that the solution was able to go well beyond the expected number of requests from the system in our stress tests.