Olmero is the leading Swiss web-based communication and efficiency improvement platform for the entire building industry. Procedures and activities may be streamlined by web-based solutions, increasing efficiency by saving time and costs. Thousands of architects, planning professionals, general contractors as well as suppliers are interacting on olmero.ch every day. Furthermore, Olmero operates an online market platform for private users looking for professionals and services all around home renovation and moving.
For us, it is essential to keep up the good team spirit, so we inject a significant portion of fun in our everyday communication with our Belgrade team. We like working hard, but we also want to work smart.
Marc, Engineering Lead Olmero AG, Zurich
With Olmero we are helping people to easily find right skilled professionals mostly focused on the house maintenance businesses.
The main idea is to upgrade the current system using a combination of the latest standards. The frontend is written in the latest Angular/Typescript stack supported by Java/Spring Boot on the backend.
Architecturally, the whole system is running as a group of Docker containers orchestrated with Kubernetes.
What we want to achieve is a switch to a single page app which communicates with REST API. Our biggest challenge is to keep the already existing platform running while injecting new or reworking existing functionalities without distracting our customers. To do it we are using the “feature-toggling” policy which allows us to deploy something and switch the desired functionality at the right moment. All new things are injected into a central iframe which communicates with the host application by post messages.
The Angular application stays on top of our reusable components composed differently on different pages but keeps the same look and feel. Specialised components are trying to encapsulate the internal state as much as it is possible and give a simple API to the parent page/component. The whole code is well tested by unit tests and a covered end to end automated tests. To be on the safe side, we are doing very strict linting and type-checking configuration.
On the server side, we are gradually replacing the old PHP application with the new one. We are focusing on using the latest industry standard technologies in Spring Boot and with a layered architecture, with units tests for core functionalities and integration tests for every endpoint. JOOQ is used for querying the database, which is a MariaDB instance.
During development, RestAssured integration tests are used to test endpoints, without the overhead of full-stack debugging. It is decoupled from the client side in a way that will allow the API to be reused by a native application.
I like our clear development process with plannings, sprints and reviews. In this way, there are no huge surprises, and the whole team knows what is in front of us at all times.
Aleksandar, Senior Developer Olmero Team, Belgrade
Book a free workshop or consultation or just give us a call at +41 44 543 43 19 We would love to hear from you!