Automating the Purchase of Electric Appliances and Improving Maintenance
Description
A trade union of 500+ electrical contractors turned to Altoros to develop a tool that helps member companies compare and order products from wholesalers.
The customer
Based in Norway, the customer operates as a union of electrical contractors. The trade union includes 500+ members, helping them to make deals with four major wholesalers. As of today, the volume of purchases is over €49 million. Founded in 2004, the company has offices in Oslo, Stavanger, Trondheim, and Bergen.
The need
Within the trade union, member organizations developed a custom PHP-based system to purchase electrical appliances from the wholesalers. However, the app was built on top of an outdated technology stack. As a result, it was hard to maintain and extend functionality.
Previously, the association had collaborated with Altoros to deliver an ecosystem of tools for calculating project costs, HSE management, etc. Satisfied with the engagement, the customer turned to Altoros again to develop a web system—for checking stock status, comparing prices, and making orders, as well as for integrating it with the existing tools. As the trade union planned to get early feedback from members and showcase the product to the union’s board to discuss financing, there were tight deadlines for the delivery.
The challenges
Under the project, the team at Altoros had to address the following issues:
- To enable comparison of goods, relevant information (prices, images, stock status, etc.) had to be retrieved from multiple sources in real time.
- Those sources included the union’s and wholesalers’ product bases, as well as EFObasen, a Norwegian base of electrical appliances.
- For order generation, the organization employed a custom format, noncompliant with conventional order generation standards and highly prone to errors.
The solution
Stage 1. After analyzing the customer requirements, developers at Altoros identified and prioritized the features, as well as outlined a roadmap for implementation. By following Agile best practices, our engineers managed to deliver new functionality every 2–3 weeks.
Stage 2. To ensure seamless integrability, the team at Altoros analyzed the stack of the existing tools and built the system on top of compatible technologies. Then, our developers delivered four APIs to establish connection with each of the tools in use.
Stage 3. To retrieve product information, engineers at Altoros built a number of APIs that connect to the union’s and wholesalers’ databases, as well as EFObasen. This way, once any product details change (prices, discounts, images, availability, etc.), the system automatically updates the information in real time.
Stage 4. As long as the customer wanted to keep its custom format, our team created a template that automates order generation, while preventing any errors. This template is easily customizable and is compliant with commonly accepted formats like JSON or XML.
Stage 5. During beta testing by end users, developers at Altoros provided ongoing support in implementing the required improvements. Moving along the set milestones, the team at Altoros built a fully fledged app in three months.
500+
partner companies
€49M
the volume of purchases
2–3
weeks for feature delivery
The outcome
Collaborating with Altoros, the trade union developed a web app that enables 500+ member organizations to compare electrical appliances offered by partner wholesalers across prices, stock status, discounts, etc. The modernized technology stack helped the association to improve the app’s maintenance. Thanks to a thought-out roadmap, the customer shipped in new features every 2–3 weeks, validating their feasibility on the go. In addition, the organization automated order generation and laid the foundation for order format standardization. Not only this prevented unexpected errors, but also contributed to easier onboarding of new members and wholesalers accustomed to conventional order generation formats.
The system was successfully presented at the member board meeting, and the customer was able to get a budget for further development.
Programming language
С#
Frameworks and tools
ASP.NET Core, Angular, Entity Framework Core, ClosedXML, AutoMapper
Database
MySQL