Custom Learning Management System
Node.js (Nest.js) for the back-end server with GraphQL API and React (Next.js)
5 developers for 6 months, with support from UX/UI team and QA
Custom Learning Management System build from scratch
Launched on Azure
We designed and developed a custom Learning Managment System with a fully integrated administrations system as well as a client interface.
The Learning Management System enables a number of different learning and testing functions, from written content to videos and quizzes to exams.
Developed over 6 months with a team of 5 developers with support from our design and UI team throughout the project. We took a great brief and created wireframes and designs built a development strategy with the client and then progressed on to the development of the solution.
After reviewing a number of options using existing solutions, we concluded with the client that the only way to achieve the features and customer experience they wanted was a custom-built learning management system. With this customers would be able to manage the employees and assign and monitor their daily, weekly and monthly progress and customise the system to their needs.
Our focus for the development was Usability and scalability and each and every module was designed and developed with these 2 key points in mind, meaning the system can grow with the client and their customers.
After a comprehensive consulting stage on the system requirements our first task was designing the complete system architecture for the project. In accordance with the project brief our proposed technology stack was Node.js (Nest.js) for the back-end server with GraphQL API and React (Next.js) for the web client application. For the database we used MySQL for its ACID compliance and TypeORM support.
The first step of the build was wire framing & story boarding all the features in accordance with client specifications. Once the wireframes and storyboards were approved we started the development process. We started the back-end development and front-end design partially in order to ensure time efficiency.
We followed the Scrum model for project management, with the project broken down into 16 code-sprints, each sprint consisting of 2 weeks of development. After each sprint we had a client review meeting to go through project progression. We used JIRA to keep track of all the tasks for each sprint.
After the 12th code-sprint we deployed the first alpha build of the project for our internal testing. We used Docker for deployment to ensure smooth deployment and maintainability. By the end of the project we ran our own internal QA and then ran a second full QA process alongside the client.