title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼Ð½Ð¾Ð³Ð¾ÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½Ð¾Ð³Ð¾ ÑÐµÑÐ²ÐµÑÐ° ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ð¸-Ð¾ÑÐ³Ð°Ð½Ð¸Ð·Ð°ÑÐ¾ÑÐ° ÑÐ°ÐºÑÐ¾Ð¼Ð¾ÑÐ¾ÑÐ½ÑÑ Ð¿Ð°ÑÑÐ°Ð¶Ð¸ÑÑÐºÐ¸Ñ Ð¿ÐµÑÐµÐ²Ð¾Ð·Ð¾Ðº
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: The development of a multifunctional server for a taxi service company
Creators: name: ÐÐ°Ð·Ð°ÑÐµÐ½ÐºÐ¾, ÐÐ¾Ð½ÑÑÐ°Ð½ÑÐ¸Ð½
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2020
Subjects: Ð¼Ð°ÑÑÑÐ°Ð±Ð¸ÑÑÐµÐ¼Ð°Ñ Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐ°
Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾ÑÐ¾ÑÐ½ÑÐ¹ ÑÐµÐ¶Ð¸Ð¼
Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½ÑÐ¹ ÑÐµÑÐ²Ð¸Ñ
ÑÐµÑÐ²Ð¸Ñ ÑÐ°ÐºÑÐ¸
Ð¼Ð½Ð¾Ð³Ð¾ÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½ÑÐ¹ ÑÐµÑÐ²ÐµÑ
ÑÐµÑÐ²ÐµÑÐ½Ð°Ñ ÑÐ°ÑÑÑ
scalable architecture
multi-threadedmode
mobile service
taxi service
multifunctional server
server part

description: ÐÐ¾Ð±Ð¸Ð»ÑÐ½ÑÐµ ÑÐµÑÐ²Ð¸ÑÑ Ð¿Ð¾ Ð²ÑÐ·Ð¾Ð²Ñ ÑÐ°ÐºÑÐ¸ Ð² Ð¿Ð¾ÑÐ»ÐµÐ´Ð½ÐµÐµ Ð²ÑÐµÐ¼Ñ Ð·Ð°Ð²Ð¾ÐµÐ²ÑÐ²Ð°ÑÑ Ð²ÑÐµ Ð±Ð¾Ð»ÑÑÑÑ Ð¿Ð¾Ð¿ÑÐ»ÑÑÐ½Ð¾ÑÑÑ. ÐÐ´Ð½Ð°ÐºÐ¾, ÐµÑÐ»Ð¸ Ð½Ð° ÑÐ¾ÑÑÐ¸Ð¹ÑÐºÐ¾Ð¼ Ð¸ Ð°Ð¼ÐµÑÐ¸ÐºÐ°Ð½ÑÐºÐ¾Ð¼ ÑÑÐ½ÐºÐ°Ñ Ð¾Ð½Ð¸ ÑÐ¶Ðµ Ð¿ÑÐ¾ÑÐ½Ð¾ Ð·Ð°Ð½ÑÐ»Ð¸ ÑÐ²Ð¾Ñ Ð½Ð¸ÑÑ, Ð² Ð½ÐµÐºÐ¾ÑÐ¾ÑÑÑ ÑÑÑÐ°Ð½Ð°Ñ ÑÐ°ÐºÐ¸Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°ÑÐ¾Ð´ÑÑÑÑ ÑÐ¾Ð»ÑÐºÐ¾ Ð½Ð° Ð½Ð°ÑÐ°Ð»ÑÐ½Ð¾Ð¹ ÑÑÐ°Ð´Ð¸Ð¸ ÑÐ°Ð·Ð²Ð¸ÑÐ¸Ñ.Ð Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÐµ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð° ÑÐµÑÐ²ÐµÑÐ½Ð°Ñ ÑÐ°ÑÑÑ Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ð³Ð¾ ÑÐµÑÐ²Ð¸ÑÐ° ÑÐ°ÐºÑÐ¸ Ð´Ð»Ñ ÑÑÑÐ°Ð½ ÐÑÑÐ¸ÐºÐ¸. Ð¡ÐµÑÐ²ÐµÑÐ½Ð°Ñ ÑÐ°ÑÑÑ ÑÐµÑÐ°ÐµÑ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð·Ð°Ð´Ð°ÑÐ¸: 1) Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ðµ ÐºÐ¾Ð¾ÑÐ´Ð¸Ð½Ð°ÑÐ¸Ð¸ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð²ÑÐµÑ ÑÑÐ°ÑÑÐ½Ð¸ÐºÐ¾Ð² ÑÐµÑÐ²Ð¸ÑÐ°, Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÑÑÐ¸Ñ ÑÑÑÑÐ¾Ð¹ÑÑÐ²Ð° Ð½Ð° ÑÐ°Ð·Ð»Ð¸ÑÐ½ÑÑ Ð¿Ð»Ð°ÑÑÐ¾ÑÐ¼Ð°Ñ;2)Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ðµ Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¸Ð¼Ð¸ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸ÑÐ¼Ð¸ Ð² Ð¼Ð½Ð¾Ð³Ð¾Ð¿Ð¾ÑÐ¾ÑÐ½Ð¾Ð¼ ÑÐµÐ¶Ð¸Ð¼Ðµ Ð¿Ð¾ÑÑÐµÐ´ÑÑÐ²Ð¾Ð¼ HTTPÐ¿ÑÐ¾ÑÐ¾ÐºÐ¾Ð»Ð°; 3)ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸ÑÑÐ°Ð±Ð¾ÑÑÑ ÑÐµÑÐ²Ð¸ÑÐ¾Ð¼ Ð¿Ð¾ Ð¾ÑÐ¿ÑÐ°Ð²ÐºÐµ ÑÐ¾Ð¾Ð±ÑÐµÐ½Ð¸Ð¹; 4)ÐºÐ¾Ð¾ÑÐ´Ð¸Ð½Ð°ÑÐ¸Ñ ÑÐµÑÐ²Ð¸ÑÐ° ÑÐ°ÐºÑÐ¸ Ñ ÑÐµÑÐ²Ð¸ÑÐ¾Ð¼ GoogleMaps; 5)ÑÐ¾Ð¿ÑÑÐ¶ÐµÐ½Ð¸Ðµ Ñ Ð±Ð°Ð·Ð¾Ð¹ Ð´Ð°Ð½Ð½ÑÑ.ÐÐ»Ñ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð²ÑÑÐµÑÐºÐ°Ð·Ð°Ð½Ð½ÑÑ ÑÑÐ½ÐºÑÐ¸Ð¹ ÑÐµÑÐ²ÐµÑÐ° Ð±ÑÐ»Ð¸ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ñ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½ÑÐµ ÑÑÐµÐ´ÑÑÐ²Ð°:NGINX, GitLab, Docker. ÐÑÐ½Ð¾Ð²Ð½ÑÐ¼ ÑÐ·ÑÐºÐ¾Ð¼ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð±ÑÐ» Ð²ÑÐ±ÑÐ°Ð½ JavaScript. Ð ÐºÐ°ÑÐµÑÑÐ²Ðµ Ð¡Ð£ÐÐ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ PostgreSQL.ÐÑÐ°ÐºÑÐ¸ÑÐµÑÐºÐ¸ Ð²ÐµÑÑ Ð½Ð°Ð±Ð¾Ñ ÑÑÐ½ÐºÑÐ¸Ð¹ ÑÐµÑÐ²ÐµÑÐ° Ð±ÑÐ» Ð¿ÑÐµÐ´Ð²Ð°ÑÐ¸ÑÐµÐ»ÑÐ½Ð¾ ÑÐ¾Ð³Ð»Ð°ÑÐ¾Ð²Ð°Ð½ Ñ Ð·Ð°ÐºÐ°Ð·ÑÐ¸ÐºÐ¾Ð¼ Ð¸ Ð¾ÑÐ²ÐµÑÐ°ÐµÑ ÐµÐ³Ð¾ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸ÑÐ¼. ÐÑÐºÐ»ÑÑÐµÐ½Ð¸Ðµ ÑÐ¾ÑÑÐ°Ð²Ð¸Ð»Ð¸ ÑÐ¾Ð»ÑÐºÐ¾ ÑÐµ ÑÑÐ½ÐºÑÐ¸Ð¸, ÐºÐ¾ÑÐ¾ÑÑÐµ ÑÑÐµÐ±Ð¾Ð²Ð°Ð»Ð¸ Ð½Ð°Ð»Ð¸ÑÐ¸Ñ Ð²ÑÑÐ¾ÐºÐ¾Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾Ð³Ð¾ Ð¾Ð±Ð¾ÑÑÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð²Ð¸Ð´Ñ Ð¾ÑÑÑÑÑÑÐ²Ð¸Ñ ÑÐ°ÐºÐ¾Ð³Ð¾ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½ÑÐ½Ð°ÑÐ°Ð»Ð°ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸. ÐÑÐ¸ ÑÑÐ¾Ð¼ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÐ° ÑÐµÑÐ²ÐµÑÐ° Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÐµÐ³Ð¾ Ð¼Ð¾Ð´Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ñ Ð¸ Ð¼Ð°ÑÑÑÐ°Ð±Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ñ ÑÐµÐ»ÑÑÑÐ°ÑÑÐ¸ÑÐµÐ½Ð¸ÑÐºÑÑÐ³Ð° ÑÐµÑÐ°ÐµÐ¼ÑÑ Ð·Ð°Ð´Ð°Ñ.Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ ÑÐ°Ð±Ð¾ÑÑ Ð½Ð°Ð´ Ð¿ÑÐ¾ÐµÐºÑÐ¾Ð¼ Ð±ÑÐ»Ð¾ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð¾ ÑÐµÑÐ²ÐµÑÐ½Ð¾Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ Ð¼Ð¾Ð¶Ð½Ð¾ Ð²Ð½ÐµÐ´ÑÑÑÑ Ð¸ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑ Ð½Ð° Ð»ÑÐ±Ð¾Ð¼ ÑÐ°ÐºÑÐ¾Ð¼Ð¾ÑÐ¾ÑÐ½Ð¾Ð¼ Ð¿ÑÐµÐ´Ð¿ÑÐ¸ÑÑÐ¸Ð¸.
description: Mobile taxi services have been gaining popularity lately. However, whilethey have already occupied a solid position in Russian and American markets, in some countries such applications are only at the initial stage of development.This paper describes theserver part of a mobile taxi service for Africa. The server part operates onthe following tasks: 1) managementof interaction between all service users, who usually access the system from various devices built on differentplatforms; 2) interaction with client applications in the multithreaded mode via the HTTP protocol; 3) implementation of interactionwith the service for sending messages; 4) coordination of the taxi service with Google Maps service; 5) pairing with the database.The following software tools were used to implement the above server functions: NGINX, GitLab, Docker. JavaScriptis selected as the main programming language for the project.PostgreSQL is used as a DBMS.Almost the entire set of server functions was previously negotiatedwith the customer and meets his requirements. The exception was only those functions that required the availability of high-performance equipment due to the absence of such at the beginningof the development. Moreover, the server architecture supports its modification and scaling in case of need forthe expansion ofthe range of tasks.As a result of work on the project, a server application was designedthat can be implemented and used in any taxi company.