Challenge
The client came to us with an existing online shop that needed improvements. The main problems were that the existing platform did not have a feed subscription option and was not user-friendly enough due to the lack of basket functionality.
▎Customer issues:
- Lack of subscription feature, which restricted users from choosing a convenient purchase method.
- Uncomfortable checkout process due to lack of a fully functional shopping cart.
- Unoptimised processes that hindered business growth.
▎ Abyron team goals:
📌Develop a subscription option for both users and call centre staff.
📌Build a user basket from scratch to simplify the shopping experience.
📌Integrate external APIs to manage the order lifecycle.
📌Realise microservice architecture to increase flexibility and scalability of the platform.
📌 Ensure system reliability through transaction distribution and database atomicity.
The client came to us with an existing online shop that needed improvements. The main problems were that the existing platform did not have a feed subscription option and was not user-friendly enough due to the lack of basket functionality.
▎Customer issues:
- Lack of subscription feature, which restricted users from choosing a convenient purchase method.
- Uncomfortable checkout process due to lack of a fully functional shopping cart.
- Unoptimised processes that hindered business growth.
▎ Abyron team goals:
📌Develop a subscription option for both users and call centre staff.
📌Build a user basket from scratch to simplify the shopping experience.
📌Integrate external APIs to manage the order lifecycle.
📌Realise microservice architecture to increase flexibility and scalability of the platform.
📌 Ensure system reliability through transaction distribution and database atomicity.
Solution
Work on the project began with a thorough analysis of the existing code and the client's requirements. We conducted a code review to understand what changes needed to be made. After that, the team identified key tasks for development.
▎Implementation steps:
- Subscription: We created functionality to allow users to subscribe to feeds. This was done for both end-users and call centre staff, which greatly simplified the interaction process.
- User basket creation: We developed the shopping basket from scratch. Now users can easily add items, change quantities and place orders in just a few clicks.
- Integration with external APIs: Connected the Starfish24 API to manage the full order lifecycle. This allowed us to automate many processes and increase efficiency.
- Microservices: Implementation of microservice architecture made it possible to divide the functionality into independent parts, which simplifies further development and scaling of the platform.
- Testing and optimisation: Each stage of development was thoroughly tested. We made sure that all changes did not disrupt the current platform.
▎Technologies used:
We used the following technologies to implement the project:
- FastAPI: for creating a high-performance backend.
- Kafka: for processing messages between microservices.
- SqlAlchemy: for working with PostgreSQL database.
- Redis: for data caching and performance improvement.
- Pydantic: for data validation.
- ElasticSearch: for quick product search.
Work on the project began with a thorough analysis of the existing code and the client's requirements. We conducted a code review to understand what changes needed to be made. After that, the team identified key tasks for development.
▎Implementation steps:
- Subscription: We created functionality to allow users to subscribe to feeds. This was done for both end-users and call centre staff, which greatly simplified the interaction process.
- User basket creation: We developed the shopping basket from scratch. Now users can easily add items, change quantities and place orders in just a few clicks.
- Integration with external APIs: Connected the Starfish24 API to manage the full order lifecycle. This allowed us to automate many processes and increase efficiency.
- Microservices: Implementation of microservice architecture made it possible to divide the functionality into independent parts, which simplifies further development and scaling of the platform.
- Testing and optimisation: Each stage of development was thoroughly tested. We made sure that all changes did not disrupt the current platform.
▎Technologies used:
We used the following technologies to implement the project:
- FastAPI: for creating a high-performance backend.
- Kafka: for processing messages between microservices.
- SqlAlchemy: for working with PostgreSQL database.
- Redis: for data caching and performance improvement.
- Pydantic: for data validation.
- ElasticSearch: for quick product search.
Results
- Improved user experience: New subscription and basket functionality has made the checkout process much easier. Users can now easily manage their purchases.
- Optimisation of business processes: Integration with external APIs and the use of microservice architecture increased the efficiency of the platform.
- Increased profitability: With new functionality and improved user experience, the client was able to increase sales.
- System Reliability: Transaction distribution and database atomicity ensured high reliability of the platform.
- Improved user experience: New subscription and basket functionality has made the checkout process much easier. Users can now easily manage their purchases.
- Optimisation of business processes: Integration with external APIs and the use of microservice architecture increased the efficiency of the platform.
- Increased profitability: With new functionality and improved user experience, the client was able to increase sales.
- System Reliability: Transaction distribution and database atomicity ensured high reliability of the platform.