David Morgan Education develops products to help children to read and spell. They came to us asking if we could rebuild and revamp the learning management system (LMS) of their existing product, Easyread.
Of course, aims and ambitions are always likely to evolve as the project matures. We quickly realised that, in order to make the LMS reusable for other projects in their pipeline, we should be building a framework, rather than a standalone site. In fact it eventually came to be that we launched the LMS with one of these new projects, Peasyread, and later transferred it to the Easyread product.
A key part of our philosophy for this project was to follow DevOps principles. This means that we automate as much as possible, all of our code is thoroughly and continuously tested, and we deploy small updates frequently. A key tool we use to manage this process is CircleCI. This is used to build pipelines that run every time we push or merge code at our repository on GitHub. We test every bit of code we write, and these tests run in every pipeline. We also use a linter that ensures that code written by differing developers all follows the same strict style guidelines. These pipelines also automatically handle deployments whenever we update the main branches of the code base.
In order to ensure that no bugs make it through to our production environments we run an additional staging environment. This means that before deploying any code to the site we can see it running in an identical set up to as it would be live, and makes certain that only high-quality, working code ever finds it way to end-users.
Another principle we follow is Agile methodologies. We create tickets for every piece of work we do on the project. We organise these into 2 week sprints and then we deliver. A quick 5 minute stand up a day ensures that every one on the team is up-to-date and on task. We then have a weekly call with the client to both review previous work and look forward to any potential challenges in the coming week.
When developing the LMS for Peasyread, we worked in collaboration with a team in Manila who were developing a mobile app with Unity. To expose the data held by the LMS to their app we created and maintained an API. We used Django Rest Framework to quickly and reliably provide a secure, well designed API that allowed their team to quickly integrate our service into theirs.
Beyond just the development of the new LMS we also provided general technical support to the client. This included helping to set up WordPress sites and conducting maintenance on the Google Cloud Platform servers that hosted them. The team at Lambert Labs made sure that all of the valuable constituent parts of David Morgan Education’s business were running and supported meaning that they, and more importantly their customers, were satisfied.
When it comes to Python and Django, Lambert Labs know their stuff. They have designed and built our latest product, Peasyread. The product looks good and works well – everything is always tested thoroughly! I enjoy working with their team. (David Morgan, CEO, David Morgan Education)