CoolCare LTD is a care home management software provider based in the UK, with a diverse set of customers across the country. The software – CoolCare4 – that our client offers is used by a large number of care homes across the region.
Our client was looking for a solution that would help consolidate the multiple sources of data pertaining to all their customers and enable them to access it via a single interface. However, as part of their long-term plan, our client wanted to build this solution in such a way that it would be implementable on multiple endpoints.
The project has two main parts:
The first part of the project, that is, the API, handles centralised information retrieval and update pertaining to individual care homes’ databases. This information includes details of three entities: the care homes themselves, their staff, and their residents.
The API that we developed for our client functions as a scalable plug-and-play mechanism. The application is written in such a dynamic way that there is no need to update the source code for newly added databases for CoolCare’s new clients. These new databases can be added to the CoolCare4 system on the fly. The databases can be queried using the API layer and data can be quickly retrieved.
The API utilises complex SQL queries that were written keeping our client’s express requirements in mind. Proper security, authentication, and authorisation mechanisms have been put in place to maximise privacy and form a protective layer around CoolCare’s application.
Via the admin screen, users can view data from each data source that is connected to CoolCare’s system. Users can also use the portal to add new data to a database of their choice. The form allows the user to enter client details, such as name and contact information, and choose which database they would like to add this information to. It is a web-based portal that is simple and highly user-friendly, with very limited options for the actions that users can perform with it.
The development process for this project encountered almost no hiccups and was quite smooth and straightforward for both our client and our development team.
As part of the project initiation phase, we conducted extensive requirements gathering activities to make sure that we understood exactly what our client expected from this project. Since our client is also a software development company, it was fairly easy to clearly communicate with them and understand their technical requirements.
Our team reviewed these observations and analysed the feasibility of the project, determining its exact scope, and it was decided that a small team of developers would be required to carry this project to completion.
The project was divided into two releases, the first one being the security and authentication module. After the first release passed the internal QA testing and handed over for the user acceptance testing (UAT), we started working on the second release which dealt with the business layer and API endpoints. The second release was also cleared after the UAT, following which the project was declared ready for deployment.
The API development process was overseen by a project manager who led a team comprising two software developers and one software quality assurance engineer.
Java
Spring Boot
Spring Data JPA
SQL Server