A web application that enables online buyers to entrust the return of goods purchased from online retailers to a special service. The application provides an opportunity to schedule a pick up of returns, choose a pickup method, and receive a tracking number as soon as goods are shipped.
Solution
The project consists of the admin panel, web client, and partner interaction page. Our frontend and backend developers worked on each of them.
The main peculiarity of the project is that it was written as a monorepository with the use of Yarn workspaces. The thing is that there were a great number of repeated components that were combined in modules that served as libs. There were two such modules. The first was related to logic, the second - to React UI. Either the admin panel, web client or partner interaction page could use these modules. The modules have 100% test coverage. Unit tests were written with the help of Jest.
React and Redux were used for the frontend development of the admin panel and web client, while Nest.js was used for the partner interaction page.
The admin panel has a great number of tables and provides an opportunity to print, and parse CSV files. Our developers noticed that there were a great number of similar sagas and created a saga factory that significantly accelerated the development process.
The partner interaction page is a single-page application for online shops enabling their clients to deal with returns not via app directly but through the corresponding shops without the necessity to sign up application.
As long as each partner is unique, most content on the partner interaction page is generated dynamically with custom metatags, custom images, custom texts, custom block positions, etc.
On the backend, it is a serverless, microservice API. It works with AWS AppSync, which provides an opportunity to realize the functions of the microservices. Everything works through AWS Lambda functions and Velocity Template Language (VTL).
With regard to the project nature, it was also necessary to implement integrations with Stripe, Shopify, OnFleet, and a range of small e-shops.
Results
Our team helped to create a robust, secure, scalable, and performant software product with a rich and smooth UI.