Backend consists of microservices, each service is responsible for integration with CRM, VCS, etc. Microservices are a set of Maven projects. Projects are extensible and reusable through the SmartActors framework. The user interacts with services through the core.
The core monitors the execution of business processes and exchanges messages with other services.
New functionality is added without stopping the service by versioning.
We use PostgreSQL as a database. The data is documents. So we can store any set of fields for any business process.
The client side was created using React. During the development, a component-oriented approach was used: the entire application is divided into components, which allows you to reuse the code and easily expand the component base.
Ant Design as a library of UI components significantly reduces the code base and allows you not to reinvent the wheel, but to use ready-made and used components.
The React Flow library was chosen to display business processes. This library provides many features for displaying charts, as well as for creating and editing them.