Agorafreight.com is the first service in Russia for online pricing and ordering of air, road and container transport, general cargo by all modes of transport, including door-to-door rates.
The history of the project Agorafreight tells the project manager Reksoft (part of the GC "Technoserv") Dmitry Dolgikh.
Russian startup Agorafreight is a marketplace for international cargo transportation, which is designed to calculate the cost of freight services provided by forwarding companies and carriers. The system is a link between the customer of the carriage (the client), shipping companies and freight forwarders. The system allows you to conduct a preliminary selection of the route, companies and services, as well as the calculation of the cost of transportation.
The project itself is very interesting and ambitious. Interesting at least because there is no such decision in Russia yet. The word “international” gave the project ambiguity - on the one hand, the project’s ambitions in terms of scaling to the whole world were declared, and on the other, we understood that the project had to pave the way in a fairly competitive environment. Part of such an environment is always the project’s ability to respond quickly to changes and unexpected reversals in terms of requirements. All this at once set a certain level of responsibility in the choice of the solution architecture, all the more so as there was not enough time to implement the first version of the product.
First we had to choose a database, or rather a data management system. The choice fell on MongoDB - the NoSQL document-oriented database with geo-query support, full-text search in 15 languages, with a hierarchical data structure. The MongoDB system is available for free under the GNU 3.0 license. It scales horizontally and can be used as load-balanced file storage and data replication.
pros
Minuses
1. There is no support for Join'ov, however this problem is solved by the data hierarchy or MapReduce-functional (but not 100%).
Special features
The team made a choice in favor of the MongoDB based on the analysis of the project. Initially, it was clear that the project is characterized by a high probability of variability in terms of setting technical specifications on the basis of business processes. This is due to the fact that the project is a startup, so it is highly probable that many business processes will change in the course of project implementation and its adaptation to the realities of market demands. To ensure the flexibility of changes and reduce internal costs of changing the data model, as well as reduce their own risks, a choice was made in favor of a non-relational database. One of the leaders in this segment is MongoDB.
This choice, as shown by subsequent practice, proved to be correct. Everything happened as it was supposed to - constant changes in the formulation, improvements from the series “and we still wanted to realize it”, and all this required a flexible and quick change of the data model. MongoDB allowed the project not only to respond adequately to changes, but also not to “fall out” from the budget. As you know, defects at the design stage lead to substantial reengineering in the implementation and increase in the risk of missing within the deadlines and in the project budget. All these risks were minimized, including due to the selected architecture.
The second architectural choice was the ReactJS library for the implementation of the frontend. It is the popularity of technology and a large formed community made it possible to make a choice in favor of ReactJS.
Advantages of this framework:
As a result, ReactJS allowed quite flexibly and dynamically changing parts of the frontend against the background of changing requirements and improvements.
In the course of the project, in addition to developing, it was necessary to solve algorithmic and optimization problems of drawing up an optimal transportation plan, comparing and building hundreds of variants of delivery routes with the selection and formation of the most optimal recommendations. And in this vein, the project has a high development potential in the direction of recommender systems based on artificial intelligence.
In general, despite all the difficulties that arose in the development of the project, it was interesting in terms of the use of modern and promising technologies for developing information systems for the international transportation market.
Currently, the system contains tens of thousands of current tariffs for sea, road and air transportation. The geography of coverage covers China, Vietnam, South Korea, EU countries and Russia, and expansion is planned for other countries. Now dozens of freight forwarders from China and the Russian Federation are already working with the system.
Source: https://habr.com/ru/post/433202/
All Articles