The main purpose of the project is to maintain and extend a service being a core of the open Configurator, which gathers the latest product data of all supported brands from the large European car manufacturer. The CoRE project also exposes an API to configure a car iteratively, determine the buildability of a partial car configuration, or recover an invalid car configuration.
Scala, Akka-HTTP, Akka, JMS
From the technical perspective - the biggest system challenge is improving the computation engine that solves the boolean satisfiability problem (B-SAT). The load is distributed on several nodes at the same time using different levels of cached data (as the problem is both memory and CPU intensive). The software is distributed in multiple artifact versions and deployed to several environments. The team must carefully introduce various optimizations and improvements to avoid breaking the external SLA and API contracts. From the domain point of view - learning about the business, introducing necessary changes, and at the same time constantly improving the code quality is the infinity game. At the moment, the team is mostly focused on the technical side of the project.
In near future, the project will re-evaluate migration to Scala 3 as the previous attempt was blocked by unsatisfactory support in IntelliJ.
The team consists of 3 experienced senior Scala engineers. The team works autonomously in cooperation with the Product Owner on the client side.