Our client is one of the world's largest fashion retailers that has multiple brands selling in over 200 markets through thousands of stores and the online platform.
The client needed to improve their existing legacy systems and develop new tools and solutions to accelerate their digital transformation.
The N-iX team redesigned the existing promotion management system into the microservices architecture and developed a new proposal management system.
The new solutions improve business efficiency by automating many processes and reducing required manual work. Additionally, the microservices architecture of the promotion management system makes scaling it to different markets both easier and faster.
Success story in detail
Our client was in the middle of the transformation journey to a fast-paced digital company. Improving efficiency and automating internal processes and systems played a key role in this process.
Among the processes that needed to be improved was the client's legacy promotion management system. A legacy desktop application used by our client to manage promotions lacked flexibility and could not keep up with company needs. The legacy promotion management system involved the use of several programs. The client needed to develop a new unified app that would allow them to create an end-to-end promotion process and provide all the necessary features.
The client also required the development of a proposal management system for buyers (a group of people managing the promotion process). Buyers create proposals of goods they need in their shops, as well as their quantity and the time when they need them. To do this, they used excel tables and entered data manually. To reduce the amount of required manual work, our client needed to create a web application that would automate this process.
Promotion management system. The N-iX team designed a microservices architecture to ensure app scalability. We applied the “Hello production!” approach, and on the second sprint, configured all the environments, set up the CI/CD pipeline, thus reducing the time-to-value of the solution. Our team implemented the QC automation process from scratch to make sure the app met all client’s quality requirements. Based on our deep requirement analysis, we prepared a presentation for the client`s QA office to ensure alignment between the teams.
Proposal management system. We began by designing the architecture of the entire solution. Our team researched and studied the services that we needed to integrate with. We released the MVP in three sprints and moved on to the development of a full-fledged app. The app integrates with 10 services to align our development with all the client's processes. Also, our team designed and created a database in MariaDB.
Promotion management system. The client used a legacy desktop app for promotion management that was slowing down their digital transformation process. The solution was intended for such users: Buyers, Directors, Product Managers, and Global strategy providers.
One of the tasks was to follow an architecture framework for the app generation that was predefined by the client. Another challenge we faced was the use of a unified library. If any changes were made in the library, it impacted other projects.
The N-iX team configured all the environments and set up the CI/CD pipeline. The client had a specific flow of environment setup and deployment into production. To ensure the production setup was valid, we decided to follow the “Hello, production” approach, making small, frequent releases to production.
The “Hello, production” approach validates the suitability of a system’s initial infrastructure requirements and validates the release processes needed to get code running with that infrastructure. It provides the team with feedback on what’s required to get any new infrastructure up and running in production. It also provides the mechanisms to deploy software onto that infrastructure and test that software with live production traffic.
To ensure the scalability of the promotion system, the N-iX team developed the app using a microservices architecture. We elicited the non-functional requirements and decoupled the business layer into domain objects. Our team followed the API first approach, as well as Domain-driven design and Behavior-driven development. We had to integrate our system with over 40 services to align our development with all the client's processes.
The development consisted of three stages:
- designing the dashboard that allows creating, editing, deleting, and providing basic information about articles;
- adding articles with price modification;
- publishing the promotion.
Our next task was to align with the client’s QA office and implement the QA automation process from scratch to enhance the app's quality and reduce the manual work. We performed deep requirement analysis and prepared a presentation for the client’s QA office to make sure everyone was on the same page.
Our team is involved in such tasks:
- working on CI/CD integration for both web UI and API;
- investigating a possibility to use JMeter for web UI for performance testing and integrating it for CI/CD;
- working on the creation of a regression suite;
- migrating to Java 11 for API tests.
The team also highlighted the importance of real user-testing and has been providing test users for the whole project.
Proposal management system. At the start of the project, the client provided our team with base backend and frontend parts of the application with no functionality. Our team started the project with research and studied the services we needed to integrate with. Next, we refactored the code to make it more convenient and migrated the system to newer technologies — from Java 8 to Java 11. As the next step, we designed the microservices architecture and built new services. Apart from that, we had to integrate our system with over 10 services to align our development with all the client's processes.
Buyers use the proposal management system to create proposals of goods they need in their shops, their quantity, and the time when they need them. The system`s main features include:
- Showing lists of proposals and KPIs;
- Validating, Rejecting, and Editing proposals;
- Providing information for third party services about arbitration;
- Notifications: sending emails of an arbitration cycle.
The app contains various indicators, such as the number of goods sold, which are important for our client’s business.
We released the MVP in three sprints. At first, we used mock data and gradually integrated it with services to receive real data. The application integrates with 10 services. Our team designed and created a database in MariaDB. It involved regular communication with the client's data governance team that approved the creation of the database. Our team aligned with the client’s QA office and introduced API and UI automation tests. As a result, unit tests cover over 65% of the entire code, and our team constantly works on increasing this percentage.
Our team aligned with the client’s QA office and introduced API and UI automation tests. As a result, unit tests cover 65% of the entire code, and our team constantly works on increasing this percentage.
The N-iX team designed the architecture of both promotion and proposal management systems. We developed a promotion management system that replaced multiple applications and significantly accelerated the process of managing promotions.
The proposal management system automates the manual process of creating proposals, significantly accelerating the buyers' work.
- Quick and easy promotion creation and management;
- Efficient handling of sales even at peak times such as Black Friday;
- Easy scaling of the solution to other countries;
- Reduced manual work with the ability to create drafts and approval flow;
- Automated proposal creation with the proposal management system.