FEODAL
The company Feodal approached us with a challenge related to the need to scale their business. The rapid increase in the number of clients has created a situation where the current solution cannot effectively handle the large stream of data. This has led to significant delays and setbacks in processing GPS packets, especially when connecting more than 1000 trackers online.
INDUSTRYY
LOGISTIC
COUNTRY
UKRAINE
TECHNOLOGIES
REACT NATIVE
NODE.JS
PYTHON
AWS
MAPBOX
SERVICES USED
WEB DEVELOPMENT
MOBILE DEVELOPMENT
CROSS-PLATFORM DEVELOPMENT
TROUBLESHOOTING & BUSINESS SCALING
Project description
Feodal.land is a system with visualization of a land bank filled with information from two modern registers containing data on land plots. These are the State Land Cadastre and the State Register of Property Rights to Real Estate. In the system, a farmer can manage their land bank, expand it using available information on unregistered plots, and monitor the expiration of lease agreements for their own and competitors’ lands. They can control and see where they are under cultivation and where they are encroaching on lands, among many other functionalities.
Challenges faced
1. A Kafka message broker was employed to enhance the processing speed of GPS packets by ensuring strict sequential processing for each tracker’s message.
2. Code splitting. We wrote an npm package to avoid duplication of code and logic between split services, following best practices.
3. Improvement of the development workflow. In addition to improvements to the product platform, we helped to improve the development workflow processes on the customer side for their dedicated team.
Our approach
We have successfully tackled the scaling challenge. As a result, the monolithic system has been divided into several functional services with the ability to horizontally scale across multiple critical nodes of the system. To verify the effectiveness of our work, we developed a GPS tracker simulator module to conduct stress testing.
Result/value delivered
The results were impressive – we were able to process over 10,000 connected devices online without any delay in data processing. Overall, audits were conducted and the performance of several crucial parts of the system was improved, with optimization of the cost aspect in cloud environments.
Here`s a simple overview of the enchancements:
Increased Capacity: We upgraded the system to handle 3,000 tractor trackers, up from 1,000, by fixing slowdown issues. This means it can now support more users smoothly.
Improved Stability: We tackled bugs and cleaned up the code, making the system more stable and easier for our client to keep running smoothly and update as needed.
Wider Access: By making the system work on tablets, we’ve enabled more users to access it, expanding our client’s reach.
Easier to Manage: We reorganized the system’s setup, making it simpler for our client to maintain and update. This makes adding new features or making changes quicker.
Enhanced Versatility: We added a feature that lets users operate the system without internet access, which is especially helpful in remote areas, making the system more versatile.