Our client is one of the fastest-growing oral healthcare providers in Switzerland. They are specialized in training dental professionals and manufacturing over 120 innovative products, which are gentle yet very effective. They are operating in more than 60 countries.
The company wanted to develop an application that would enable customers who need dental care to make an appointment with their desired specialists. The app had two parts: the first part is for the administration of the clinics where each clinic has the option to administrate dates, people, appointment algorithms, and offer specific treatment. The administrative part of the app is used for tenant management. Through tenant management, they can manage all the data for the clinics and clinic users and do advanced reporting that provides good input for our clients.
The second part of the app is for end users. If the customer needs dental treatment, he logs in to the app to find the nearest or the best clinic, according to geolocation or IP address. Then, he may choose the desired service from a list of health professionals and gets time slots to make an appointment. Afterwards, he will get notifications and reminders for this appointment. If he registers, he will have a history of previous appointments available.
Time scheduling and making these appointments while choosing from many different options is one of the biggest app’s components.
When Enlight joined, the company didn’t have a development team that could work on this app successfully. They had an idea of what they needed and the backlog data, so it was our job to make the MVP of this app. In this stage, the app should have its basic features developed to be tried out so that we get feedback from the customers.
The biggest challenge we had was the short amount of time for development. In only four months we created the MVP that had all the functionalities they required.
Initially, the goal was that we create the MVP stage of this app, and their development team would finish it by its end phase. While we worked, they realized they didn’t have enough capacity and knowledge for this so Enlight continued working on this project longer, and they were satisfied with the end product.
We worked on this app for approximately one year. In the administrative part of the app, they could create treatments, add new users, control the customer types (basic, assistant, or doctors), and adjust algorithms for showing the treatment.
Treatments, clinics, and the schedule were visible in the front end, with a calendar that had daily and weekly modes. The customers could choose the clinic and the service, and register in a simple way. We integrated sms and WhatsApp notifications aside from email in the app.
The app was developed for two different markets-Swiss and Brazilian, and it had different features adjusted for both.
The technology used in this project was Java Spring Boot and Angular. The product was created in the AWS cloud. The company had its own servers, deployment methods, and infrastructure so we had to understand and implement their guidelines in the process.
State management components store was a relatively new technology and we implemented it. We also created an abstraction of entities in the app which allows fast development of simple functionalities. It saved us time, so we finished tasks in one or two days instead of three or four.
The company uses a monolith infrastructure, but we initially had the idea to transit it to microservice, and we started working on it. Instead of having everything in one place, as is the case in the monolith, the functionalities could be divided. In microservice domain-driven design, every microservice has its own database, it is more complex to develop and maintain. When this company transits from monolith to microservice in the future, the app can be scaled further to have a far bigger number of customers while keeping the same functionalities.
Aside from app development, our team was involved in knowledge transfer. The company’s development team needed our guidance and mentorship throughout the process, which will be a valuable experience for them in their further projects. We implemented Scrum methodology to develop this project, with all necessary ceremonies, sprints, and project phases to ensure an organized and agile way of working.
Need a reliable IT partner for your software development projects? Let's talk.
Stay informed about the nearshoring and software engineering trends shaping the future of your industry.