Case

Dentech

Overhaul of a legacy booking system

Code optimization & Web development Backend & Frontend

Background
Tandläkare.se (run by Dentech) is the current leading booking platform, as well as affiliate site for dentists in Sweden. The system it is built upon was growing old and was per definition a monolithic legacy system integrating with many different third parties to deliver value for dental clinics and customers alike. The system was delivering many things, some of them included fetching and displaying time slots available for booking in a plethora of different journal systems, content management for the clinics, reviews and informational pages for the curious. The developers serving the system were rotating out, at the same time as Rhyme was onboarded as the fourth generation of developers working on the system.
Challenge
The sharp edge of the challenge laid in the same sphere as it does for most legacy projects and products. The platforms, technologies and libraries had grown old, and as a mishmash of different components and solutions had been built by different developers to solve their specific challenges, the vision of the whole had been lost during the years. In discussion with the client we reached the conclusion that our initial goal should be to secure uptime and longevity for the systems. We wanted to build a foundation on where we could start to rebuild and repair what was deemed critical and valuable. The client also had ambitious business targets, and together we formulated a plan covering key new features for delivering on their overall strategy.
Solution
As the product was up and running and had real-life customers to cater to, our focus was first on maintaining and preserving, while improving and adding features came second. We ran static analysis of both the code and the database to find choke points where we could quickly add value for the client, as well as continuously gaining insights into the systems at hand. Rhyme also wrote tests to accompany the most critical parts of the systems that involve the booking flow, as well as integration against third parties for time slots in their respective journal systems. We also overhauled the naming patterns, and added and ran linting for the code base. Adding server side caching and expiry headers for all static assets served was also a low effort exercise with high value impact. As the work on maintaining and improving the original code base and infrastructure has advanced work has begun on adding more new features, such as a new and improved sign up form for B2B customers or a brand new checkout system integrating against Klarna
Visit site here
Results
  • Better readability, systems sustainability and lower risk of human error
  • Significantly lowered the average load time for the frontend
  • Quicker queries and save times on the database is the result of more and better indexes and foreign keys in the database
  • GDPR compliance has been secured both for B2B as well as for the B2C flow
    • New long sought after features have been added:
    • B2B Sign-up form
    • Streamlined billing system
    • Admin tools for booking statistics
    • Refined configuration options for the external widget
All in all it has been an interesting challenge in adding both immediate short term value, securing uptime and profitability, as well as setting up for successful long term product development and expansion. Rhyme looks forward to a long term partnership with Dentech.