How we built a cloud-based collaboration platform to exchange data

What future BrandSync CEO and one of our business partners found the most difficult was the exchanging of high volumes of data between three major groups within the supply chain: producers, distributors and retailers. He came out with an idea how to make it smooth and simple.

Problems to solve

The created cloud-based solution dedicated to retailers and producers covers three major problematic aspects of distribution:

  • Gathering and processing products’ data;
  • Data standardisation and unification for all of supply chain participants;
  • Data further circulation; internally and externally.

The application allows the users to provide within the database a precise description, which contains not only the weight and dimensions but also information regarding the allergens, caution and toxic materials. That also includes a high definition graphic representation (packshot). That, combined with a great volume of products within the base causes very expanded data exchange between the subjects within the supply chain.

The cloud-based solution allows the retailers and facilities to provide precise information regarding the composition of drugs, supplements and medication.

The solution

Turning 3-page specification into a complex cloud-based application can be done only with a good understanding of the needs of users and the client as well as the environment in which the web application will be used. That’s the reason why we performed an extended scoping session with the client, gathered the requirements and validated the product itself.

To do so, Merixstudio’s team had to understand both the needs of the users and the roles in data exchanging processes. The two groups of the user of the BrandSync application are Data Providers and Data Recipients. The flexible and precise data exchange between these groups can be maintained thanks to an expanded set of attributes. The application fosters product data exchange globally.

Providing new products into the database begins with attaching them to specific categories. There are 5430 categories, including 4615 lower level categories. Each product is submitted to one of the categories and described with a set of attributes by the BrandSync administrators following the GS1 standards (GS1 is a worldwide non-profit organization, responsible for the, among others, standardisation of barcodes).

BrandSync product view

To facilitate creating hundreds or even thousands of products in the web application the BrandSync solution allows importing products’ data using .XML & .XLSX files. Additionally extracting products data is possible as well.

Beyond that, BrandSync strongly encourages to provide possibly high definition packshots illustrating specific goods. Combined with descriptions, they are considered as a crucial part of each product's basic data.

Product Template Administration:

  • 17 types of configurable attributes, ranging from simple text fields, through different kinds of select fields to complex solutions combining predefined data, with user input and applied calculation algorithms (e.g. product nutritional information),
  • 5430 product categories in total (including 4615 product categories of the lowest level - each product has to be assigned to single lowest level category),
  • dynamic Product Template configuration allowing to group attributes and assign them to specific product categories. This also includes the cascading template application, where the template doesn’t have to be ascribed to the category of the lowest level - the template will apply to all the child categories that don’t have their unique template.

It’s all about the approach

The only way to perform successful product discovery was to gather the requirements with the client and understand the business conditions of our partner. The BrandSync application is built from scratch, with on-going scoping.

For the first 6 months, BrandSync app was developed following the Scrum methodology. With a growing team, established workflow and well-maintained communication, the software team, together with the customer moved smoothly to Scrumban - the Agile management methodology. Each three month period has its three major milestones and one goal to be achieved by software developers.

Both aims and milestones are discussed and accepted by our business partner. The conclusions point further path of the project development, respecting the strategy and current business-related circumstances.The team’s approach evolved along with the product itself, anticipating the growing needs and tackling more challenging tasks.

Tools & technologies

One of the major challenges was to combine simplicity with flexibility and create as user-friendly tools as possible. The BrandSync application is equipped with the clear, intuitive and aesthetic interface providing the variety of functionalities and making the high volume data management easy and effective. We created custom-made designs what freed us from the limitations imposed by ready-made UI sets and frameworks.

The team decided to build custom designs because of widespread of functionalities. Among available modern frontend development tools, we have decided to use Angular framework as one of the best solutions for creating such complex web applications.

Each product is submitted to one of the categories and described with a set of attributes

However, the BrandSync's core it's located on its backend. For the top Django team, choosing the framework wasn't a hard decision. The combination of Python and Django framework proves to be one of the most effective connections in almost any type of custom web development works. We’ve also chosen PostgreSQL for the database as one of the best Open Source database management systems that can handle high volumes of data and for its reliability and stability.

In addition, we are using a series of other tools and technologies to achieve different goals. RabbitMQ and Celery for task queuing, Redis for data caching, and finally - Elastic. For CI/CD (Continuous Development/Continuous Integration) purposes, we’re using Docker together with Jenkins.

Summary

BrandSync web application is a cloud-based solution dedicated to the retailers operating on the high-volume product data. Thanks to the deep understanding of the business goals, Merixstudio’s development team managed to combine complex data structure with a user-friendly interface.

Development process demonstrates the strengths of agile methodologies such as Scrum and Scrumban and highlights the role of empathy during the product discovery phase. The combination of business acumen, designing skills and most modern engineering delivered a utility solution for entrepreneurs representing a variety of branches.

To find out how BrandSync application looks like, visit our Behance profile.

Navigate the changing IT landscape

Some highlighted content that we want to draw attention to to link to our other resources. It usually contains a link .