Willhaben is one of the top 10 most visited websites in Austria. It is the dominant classified ads platform of the country and boasts an impressive 1.3 billion page impressions and 8.5 million unique clients per month.
The system runs on a microservice architecture with 100+ different microservices.
During my time at willhaben I worked on several impressive projects, in the following I'll explain the three most noteworthy.
In order to be compliant with the new GDPR regulations, we had to implement data takeout and data deletion functionality. To enable users to download and delete their data on the platform, we developed a service to collect the data from all internal and third party systems. While I helped out and maintained multiple parts of the system, my main contributions were the functionality for the Zendesk integration and the implementation and coordination of the user-facing application of the system.
To prepare the platform for a modern frontend technology stack, a team was formed to do the initial migration from the JSP frontend to a Next.js based frontend. I was brought into the team as a fullstack developer with the goal of adapting the existing APIs and system to the frontend developers' needs and to work on the frontend when no backend work was needed.
During this project I had to create and connect a Spring Zuul based proxy, acting as an API Gateway (or more specifically a BFF - Backend For Frontend) to perform a seamless authentication mechanism that bridged the sessions between pages of the old and the new frontend and allowed to interact with existing services.
I was also deeply involved in the containerization of the resulting services, their monitoring (via Prometheus and Grafana) and alerting.
The goal of this project was to fully integrate a payment and shipping workflow, which could be used by buyers and sellers on the platform.
During this project, we created and integrated into the platform a microservice which integrates with external payment and shipping services and handles the interaction flow from the initial offer phase up until the release of the payment when a parcel reached the buyer.
My colleague Robert wrote an interesting article on the project.