Chris Lowis by Chris Lowis

Week 513

We’re continuing the fourth sprint on the Crown Marketplace app development. Following our company retrospective last Friday we decided to spend a bit more time in the CCS office co-located with the rest of the dxw team and colleagues at CCS. We were there on Monday and Tuesday and spent the rest of the week between our offices in Whitechapel and working from home.

Crown Marketplace

We made some progress adding a new framework to the service. This framework allows public sector buyers to procure management consultancy services from suppliers. We were pleased to see some similarity with the previous framework we added. Suppliers under this framework also offer their services under different lots and there is some variation in the areas of the country that individual suppliers can work. We were able to re-use some of the user interface patterns that have been developed previously. The main hurdle is again in the quality of data that we have to import into the application. The information about which suppliers offer which services and in which regions has been collected by sending the suppliers a spreadsheet to complete. These spreadsheets don’t enforce any rules on the data that is added so there is considerable work to get them in a consistent form to allow their data to be added to the application’s database. We are learning that this is one of the significant challenges in adding new journeys to the service and we are starting to think of ways to help.

After quite a lot of work we managed to deploy and enable a log-in system for the service using Amazon’s Cognito service. It’s been tricky to know whether we’ve been doing the right thing here. We’ve had some indication that the use of Cognito is a temporary solution while we wait for another authentication solution to be developed. However we also know from experience that temporary solutions often become permanent ones and we feel that whatever we put into production should be well-written and tested. To that end we spent some time writing tests for the JWT based token-exchange flow that Cognito uses, and our integration of it into the Rails application using OmniAuth.

We made a number of refactorings that allowed us to remove some error-prone duplication from our view code. We also added the beginning of a simple calculator to allow buyers of supply teacher services to calculate what fee they could expect to pay the agency suppliers if they take on a teacher as a permanent employee.


I did a bit of preparatory work for the annual CoTech gathering at Space4. We’ve decided to move the CoTech website from Wordpress to a static site generator to allow more people to contribute to it and avoid some of the issues with keeping a Wordpress installation up-to-date. I finished migrating the existing data to Jekyll, added the repository to the Gitlab instance, added some issues for us to work through at the gathering and made a start on a continuous integration pipeline to build the static pages. I’ve been impressed with Gitlab’s built-in Docker-based CI system something that Github seems to be catching up with their new Github Actions tool.

If you have any feedback on this article, please get in touch!

Historical comments can be found here.