Project is mean to make an intermediary solution between several storage managing APIs and mobile application.
- APIs have different structure
- APIs have different quality of documentation
- APIs use different payment systems implemented
Setting up the factory-based structure that uses heterogenous API request implementations. Each implementation sets up the same request/response interface for the mobile up. Some APIs had to implement workarounds for payment gateways, including the work via API’s owner web interfaces via the backend. Big amount of helper data is stored locally on the backend side. On future stages admin panel was added to make the application available for various customers. This demanded the migration to the microservice architecture to reduce the data duplications and increase the codes stability.
Development language: PHP Backend framework: Laravel Frontend framework: Vue Database: Maria DB Architecture: Microservices
A giant legacy project meant as a product management system for vendors. The system was set up as a monolith and was implemented via mostly-custom code. Yii2 framework was used scarcely. Project must become available for multiple countries with minimal amount of changes.
- tight time frame
- low budget
- old code base
- non-standard architecture of current solutions
It was decided to divide the architecture in 2 parts: old monolith and new microservice solution. Monolith will work with various databases – one per country. Connection must be set up dynamically and credentials set on each request instead of using one environment. Microservices will have 2 main functions: provide database connection credentials and let user be connected to various countries via the same username and password. In future the creation of distributed application system with application machines and databases in different regions. Also movement to the purely-microservice architecture is encouraged.
Development language: PHP Backend framework: Yii2 Frontend framework: React JS Database: Microsoft SQL Server Architecture: Monolith + Microservices
Project with a big amount of legacy code needed the speeding up the daily process. The project has a whole application layer in database that runs by desktop application on regular basis. Problem appeared when database layer script started working on more than 1000 databases in a row and each database was taking about 20 minutes to finish.
- legacy code
- project is in production and big changes cannot be implemented easily
After an investigation and debugging session it was found that database tables and queries were not optimized to work with big amounts of data. Problem appeared in the work with dates and free search by datetime field. Re-creation of the table structure have bee implemented finally to make select queries faster. Final speed was increased to 16 seconds per one database.
Development language: SQL, C# Backend framework: Windows Forms Application Database: Microsoft SQL Server
A multi-component project aimed to meet guests coming into the facility. Initially it was intended to work with cameras in the hall. Necessary system was developed for this goal. Later changes led to the integration of the camera system. Main challenge of the project was the binding the cameras’ alerts to the meeting hall video call system and creation of the queue of the managers ready to answer the call.
- the initial system was not designed to integrate the manager queue and 2 external systems
- instability of external systems
In the process of planning it was decided to create a mutual queue designed to catch camera alerts when new person comes into the facility and make a timeout on new alert to prevent false positive reactions of the system. After that the code assigns the best fitting manager to answer the call and creates the video call with the meeting hall of the facility if there are free terminal (or waits for free terminal). For the best user experience and quick debugging an access to the terminals was set via RDP protocol so any non-technical person could fix instability caused by external factors.
Development language: PHP, JavaScript Backend framework: Symfony, Node.js Database: PostgreSQL
Project is set as an intermediate solution between end user and external API that aims to use sophisticated algorithms to reduce API usage and save client’s money. We were hired to fix the system instability and recently increased response time.
- bad code quality left by the previous team
- no description of the system
Though it was never a case before, external API started working slowly. It was impossible to debug the bug occurrences with current solution. A large-scale logging system was implemented to catch all incoming/outgoing requests and make a map of responses from the external API. It was proved that external API was causing issues. We’ve formed a request with all documented details and helped external API’s team to fix the issue on their side.
Development language: JavaScript Backend framework: Node.js
A service that takes specific statistics for given industry-specific products and serializes it into machine-readable and searchable format.
- big number of various external services and platforms (not always working as services)
- need for a fast search with NLP algorithms
Part of the data aggregation was the biggest but most straightforward. A list of external sources included multiple major industry-wide providers and each of them had a separate approach to the data sharing. A network of microservices with request functionality was set up to separate logic of heterogeneous platforms from one another. An intermediate queue was set to save received data in non-concurrent way. As the most straightforward solution for data storing Microsoft SQL Server database was chosen. To enable fast search with NPL capabilities ElasticSearch was set up to feed on the SQL data and re-index it with set intervals.
Development language: Python Backend framework: Flask Database: Microsoft SQL Server Architecture: Microservices
A web application for the retail store with integrated custom analytical application
- AI API Integration
- Creating a web system for over 100.000 users per month
The main task was to integrate the AI system into an existing project to reduce the percentage of product returns. With the help of the neural network, users could ask questions about clothing colors, trends, any color combinations and thus they could choose more suitable colors for them. As a result of integrating an external AI API, we were able to reduce the number of returns by 15 percent. In addition, we had to migrate it from heavy CMS solution that was used by 20% to the fast custom framework-based microservices solution
Development language: PHP, JS Backend framework: Laravel Database: Microsoft SQL Server Architecture: Microservices