Development of the "Base Prices" module for OBOZ Digital

Development of the "Base Prices" module for OBOZ Digital
  • OBOZ

    Logistics Service Provider Driving Logistics Digital Innovation and Growing at Huge Speed ​​Since 2019.

Task

Project problem:

  • due to the parallel development of other product modules, the customer did not have enough of their own resources;
  • the implementation of the modules was carried out without a separate technical stage. design and analytics;
  • very short deadlines for launching the first release of the module in a simplified form for production (21 working days after the start of work);
  • the functional task (FT) was constantly supplemented by the customer after the beginning of the work.

Decision

Stage 1. MVP-Basic development.

On request from external modules, the Base Price Module could output a price from its database.

If there was no price in the database, an error was generated.

At this stage, the error in the value of the price output by the module could be quite large. The frontend part of the module was not implemented, the data of orders and directories were loaded into the database in manual mode.

In the process of accepting the work by the Customer, functional and integration testing was performed on the test bench. The result was satisfactory to the Customer. The first release of the Module in a simplified form was included in the Product release on the product within the specified time frame.

Stage 2. Development of the MVP-Advanced.

Improved the backend of the module:

  • the math kernel services implement algorithms for extrapolation and outlier elimination;
  • services for calculating and issuing base prices have been finalized;
  • service of launching batch recalculation of base prices was implemented;
  • automatic loading of orders and directories via Kafka logs from external modules has been implemented;
  • 60% coverage of the code by unit tests was performed.

At this stage, we ensured minimum error in the module's price. The frontend part of the module was not implemented.

Stage 3. Development of the MVP-target and delivery to the Customer.

Improved the backend of the module:

  • ui-api services are implemented to organize the frontend of the Module;
  • 60% coverage of the code by unit tests is done.

The frontend part of the Module is implemented, which consists of:

  • menu for setting the parameters of the mathematical model, including:

a) setting the coefficients of the base price calculation formula;

b) setting the coefficients of the formula for calculating the address price;

c) setting up the intervals of the pricing;

d) adjustment of expert price discounting with regard to inflation;

  • main table to display base and average prices, as well as view and assign expert and fixed prices;
  • menu for configuring the launch of the batch price recalculation scheduler.

At this stage, it was possible to configure various module parameters by the system administrator via the web interface, as well as to view and adjust the values of the prices issued by the module by the expert/logistician.

In the process of accepting the work of stages 2 and 3 (MVP-Advanced and Target), the customer conducted functional, regression, integration and load testing on the test bench, the customer team conducted a review of the backend and frontend code.After the implementation and stabilization detailed technical documentation for the module was given to Oboz developers. By all checks the customer was satisfied with the obtained result. The customer has included the target version of the base price module into the next product release.

Stage 4. Refinement of the module (beyond the main project).

After the completion of Phase 2 and 3, the functionality of the Base Price Module was further developed by Digital Zone as part of a series of requests for improvement from Oboz.

Technical documentation (architecture diagram, data schema, openapi.yaml, readme.md) for the module was prepared as a result of the implementation of each of the stages.

Technology stack, engine:

kotlin/java, spring-boot, consul, kafka, keycloak, PostgreSQL, vue.js.

Timeline, costs:

  • resource costs 45 man-months;
  • 8+ million rubles;
  • duration of the project 7 months.
     

Result