title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° ÑÐµÑÐ²ÐµÑÐ½Ð¾Ð¹ ÑÐ°ÑÑÐ¸ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸Ð·Ð°ÑÐ¸Ð¸ ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÐµÐ¼Ð¾Ð½ÑÐ¾Ð¼ Ð´Ð¾ÑÐ¾Ð¶Ð½Ð¾Ð³Ð¾ Ð¿Ð¾ÐºÑÑÑÐ¸Ñ
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¼Ð°Ð³Ð¸ÑÑÑÐ°
titleType: Subtitle
title: Development of the server part of the application to automate the management of pavement repair
Creators: name: ÐÐ»Ð¸Ð¼ÐµÐ½ÐºÐ¾, ÐÐ°ÐºÑÐ¸Ð¼
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2023
Subjects: ÑÐµÑÐ²ÐµÑ
ÐºÐ»Ð¸ÐµÐ½Ñ
REST
JavaScript
NodeJS
Express
JWT
API
ÐºÐ»Ð¸ÐµÐ½Ñ-ÑÐµÑÐ²ÐµÑÐ½Ð¾Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ
server
client
client-server application

description: Ð¦ÐµÐ»ÑÑ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ»Ð¾ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐ»Ð¾ Ð±Ñ ÑÐ¿ÑÐ°Ð²Ð»ÑÑÑ Ð±ÑÐ¸Ð³Ð°Ð´Ð°Ð¼Ð¸ ÑÐ°Ð±Ð¾ÑÐ¸Ñ Ð´Ð¸ÑÑÐ°Ð½ÑÐ¸Ð¾Ð½Ð½Ð¾, ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾ Ð¸ Ð±ÐµÐ· Ð¿Ð¾ÑÑÐ¾ÑÐ½Ð½Ð¾Ð¹ ÑÐ²ÑÐ·Ð¸ Ñ Ð¼ÐµÐ½ÐµÐ´Ð¶ÐµÑÐ¾Ð¼ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ð¸. ÐÑÐ¾Ð±Ð»ÐµÐ¼Ð° Ð¼ÐµÐ½ÐµÐ´Ð¶Ð¼ÐµÐ½ÑÐ° Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ð¸ ÑÐ°Ð±Ð¾ÑÐ¸Ñ Ð±ÑÐ¸Ð³Ð°Ð´ Ð½Ð° Ð±Ð¾Ð»ÑÑÐ¾Ð¹ Ð¿Ð»Ð¾ÑÐ°Ð´Ð¸ Ð¸ ÑÑÑÐµÐºÑÐ¸Ð²Ð½Ð¾Ð¼ Ð¿Ð»Ð°Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ð¸ Ð¸Ñ Ð¼Ð°ÑÑÑÑÑÐ°. Ð¢Ð°Ðº Ð¶Ðµ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ð¾Ð¹ ÑÐ²Ð»ÑÐµÑÑÑ Ð½Ðµ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¿Ð¾ÐºÑÑÑÐ¸Ðµ Ð¸Ð½ÑÐµÑÐ½ÐµÑÐ¾Ð¼ Ð¾Ð±Ð»Ð°ÑÑÐµÐ¹ Ð²Ð½Ðµ Ð½Ð°ÑÐµÐ»ÐµÐ½Ð½ÑÑ Ð¿ÑÐ½ÐºÑÐ¾Ð².Â  Ð Ð´Ð°Ð½Ð½Ð¾Ð¹ Ð´Ð¸ÑÑÐµÑÑÐ°ÑÐ¸Ð¸ Ð¾Ð¿Ð¸ÑÐ°Ð½ Ð¿ÑÐ¾ÑÐµÑÑ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ ÑÐµÑÐ²ÐµÑÐ½Ð¾Ð¹ ÑÐ°ÑÑÐ¸ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ REST API Ð´Ð»Ñ ÑÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð°Ð½Ð¸Ñ ÑÐ°Ð±Ð¾ÑÑ Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ð³Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ. ÐÐ»Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ ÑÐµÑÐ²ÐµÑÐ½Ð¾Ð¹ ÑÐ°ÑÑÐ¸ Ð±ÑÐ» Ð²ÑÐ±ÑÐ°Ð½ ÑÐ·ÑÐº JavaScript ÑÐ¾Ð²Ð¼ÐµÑÑÐ½Ð¾ Ñ ÑÑÐµÐ¹Ð¼Ð²Ð¾ÑÐºÐ¾Ð¼ Node.js. ÐÐ»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑÑÐµÐ¹Ð¼Ð²Ð¾ÑÐºÐ° Ð´Ð¾ÑÑÑÐ¿Ð½Ð° Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ° Express, ÐºÐ¾ÑÐ¾ÑÐ°Ñ ÑÐ»ÑÐ¶Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑÐµÐ½Ð¸Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ ÑÐµÑÐµÐ· WEB. Ð¡ÐµÑÐ²ÐµÑÐ½Ð¾Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð±ÑÐ»Ð¾ Ð¿Ð¾ÑÑÑÐ¾ÐµÐ½Ð¾ Ð¿Ð¾ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÐµ REST API, ÑÑÐ¾ Ð¿Ð¾Ð´ÑÐ°Ð·ÑÐ¼ÐµÐ²Ð°ÐµÑ, ÑÑÐ¾ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑÐ°Ð½Ð¸Ð¼Ð¾Ð¹ Ð½Ð° ÑÐµÑÐ²ÐµÑÐµ ÑÑÑÐ½Ð¾ÑÑÐ¸ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð° Ð¼ÐµÑÐ¾Ð´Ð¾Ð»Ð¾Ð³Ð¸Ñ CRUD (Create, Read, Update, Delete), ÑÑÐ¾ Ð¿ÑÐµÐ´Ð¾ÑÑÐ°Ð²Ð»ÑÐµÑ Ð¿Ð¾Ð»Ð½ÑÐ¹ ÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð» Ð´Ð»Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ñ Ð¾Ð±ÑÐµÐºÑÐ°Ð¼Ð¸, ÑÑÐ°Ð½Ð¸Ð¼ÑÐ¼Ð¸ Ð² Ð±Ð°Ð·Ðµ Ð´Ð°Ð½Ð½ÑÑ. ÐÐ·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ðµ Ñ ÑÐµÑÐ²ÐµÑÐ¾Ð¼ Ð¿ÑÐ¾-Ð¸ÑÑÐ¾Ð´Ð¸Ñ ÑÐµÑÐµÐ· Ð¿ÑÐ¾ÑÐ¾ÐºÐ¾Ð» http Ð¿ÑÐ¸ Ð¿Ð¾Ð¼Ð¾ÑÐ¸ Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð², Ð·Ð°Ð¿ÑÐ¾ÑÑ Ð´Ð»Ñ Ð¾Ð±ÑÐ°ÑÐµÐ½Ð¸Ñ Ðº ÑÐµÑÐ²ÐµÑÑ Ð±ÑÐ»Ð¸ Ð¾Ð¿Ð¸ÑÐ°Ð½Ñ Ð² Ð´Ð¾ÐºÑÐ¼ÐµÐ½ÑÐ°ÑÐ¸Ð¸ Ð¿ÑÐ¾Ð´Ð²Ð¸Ð½ÑÑÐ¾Ð³Ð¾ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ. Ð ÐºÐ°ÑÐµÑÑÐ²Ðµ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð±ÑÐ»Ð° Ð²ÑÐ±ÑÐ°Ð½Ð° PostgreSQL, Ð¾Ð½Ð° Ð±ÑÐ»Ð° Ð²Ð½ÐµÐ´ÑÐµÐ½Ð° Ð½Ð° ÑÐµÑÐ²ÐµÑ Ð·Ð°ÐºÐ°Ð·ÑÐ¸ÐºÐ°, ÑÐ°Ðº ÐºÐ°Ðº Ð±ÑÐ»Ð¾ Ð²Ð°Ð¶Ð½Ð¾ ÑÑÐ°Ð½Ð¸ÑÑ Ð´Ð°Ð½Ð½ÑÐµ Ð½Ð° Ð»Ð¾ÐºÐ°Ð»ÑÐ½Ð¾Ð¹ Ð¼Ð°ÑÐ¸Ð½Ðµ, ÑÑÐ¾ Ð¿Ð¾ÑÐ»ÑÐ¶Ð¸Ð»Ð¾ Ð¿ÑÐ¸-ÑÐ¸Ð½Ð¾Ð¹ Ð¾ÑÐºÐ°Ð·Ð° Ð¾Ñ Ð±Ð°Ð· Ð´Ð°Ð½Ð½ÑÑ, ÐºÐ¾ÑÐ¾ÑÑÐµ Ð¿ÑÐµÐ´Ð¾ÑÑÐ°Ð²Ð»ÑÑÑÑÑ ÐºÐ°Ðº ÑÐµÑÐ²Ð¸Ñ. ÐÐ° ÑÐµÑÐ²ÐµÑÐµ Ð±ÑÐ»Ð° ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð° Ð°Ð²ÑÐ¾ÑÐ¸Ð·Ð°ÑÐ¸Ñ Ð¿Ð¾ JWT ÑÐ¾ÐºÐµÐ½Ð°Ð¼, ÑÑÐ¾ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾ÑÑÐ°Ð²Ð°ÑÑÑÑ Ð² Ð°ÐºÐºÐ°ÑÐ½ÑÐµ Ð½Ð° ÐºÐ»Ð¸ÐµÐ½ÑÑÐºÐ¾Ð¹ ÑÑÐ¾ÑÐ¾Ð½Ðµ Ð¿ÑÐ¸ Ð¿Ð¾Ð²ÑÐ¾ÑÐ½Ð¾Ð¼ Ð²ÑÐ¾Ð´Ðµ Ð² Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ. Ð¢Ð°ÐºÐ¶Ðµ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½ Ð¼ÐµÑÐ°Ð½Ð¸Ð·Ð¼ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÐ¾Ð»ÐµÐ¹, ÑÑÐ¾ Ð½Ðµ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»ÑÐ¼ Ð±Ð¾Ð»ÐµÐµ Ð½Ð¸Ð·ÐºÐ¾Ð³Ð¾ ÑÑÐ¾Ð²Ð½Ñ Ð´Ð¾ÑÑÑÐ¿Ð° ÑÐ¾Ð²ÐµÑÑÐ°ÑÑ Ð·Ð°Ð¿ÑÐ¾ÑÑ, Ð¿ÑÐµÐ´Ð½Ð°Ð·Ð½Ð°ÑÐ°ÑÑÐ¸ÐµÑÑ Ð´Ð»Ñ Ð²ÑÑÐ¾ÐºÐ¾Ð³Ð¾ ÑÑÐ¾Ð²Ð½Ñ Ð´Ð¾ÑÑÑÐ¿Ð°, Ðº ÑÐµÑÐ²ÐµÑÑ. ÐÐ¾ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ°Ð¼ Ð²Ð½ÐµÐ´ÑÐµÐ½Ð¸Ñ ÑÐ¸ÑÑÐµÐ¼Ñ Ð² ÑÐ°Ð±Ð¾ÑÐ¸Ð¹ Ð¿ÑÐ¾ÑÐµÑÑ ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ð¸, ÑÑÐµÐ´Ð½ÑÑ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾ÑÑÑ Ð·Ð°Ð¼ÐµÑÐ½Ð¾ Ð²ÑÑÐ¾ÑÐ»Ð°. ÐÐ·-Ð·Ð° ÑÐ¾Ð³Ð¾, ÑÑÐ¾ ÑÐ°Ð±Ð¾ÑÐ¸Ð¼ ÑÐµÐ¿ÐµÑÑ Ð¿Ð¾ÐºÐ°Ð·ÑÐ²Ð°ÑÑÑÑ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑÐ¸Ðµ Ðº Ð½Ð¸Ð¼ Ð¾Ð±ÑÐµÐºÑÑ, Ð¾Ð½Ð¸ Ð±Ð¾Ð»ÐµÐµ Ð¾Ð¿ÑÐ¸Ð¼Ð°Ð»ÑÐ½Ð¾ ÑÐ°ÑÑÐ¾Ð´ÑÑÑ ÑÐ°Ð±Ð¾ÑÐµÐµ Ð²ÑÐµÐ¼Ñ Ð¸, ÑÐ»ÐµÐ´Ð¾Ð²Ð°ÑÐµÐ»ÑÐ½Ð¾, Ð·Ð° ÑÐ°Ð±Ð¾ÑÐ¸Ð¹ Ð´ÐµÐ½Ñ ÑÑÐ¿ÐµÐ²Ð°ÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½Ð¸ÑÑ Ð² Ð¿Ð¾Ð»ÑÐ¾ÑÐ° ÑÐ°Ð·Ð° Ð±Ð¾Ð»ÑÑÐµ Ð¾Ð±ÑÐµÐºÑÐ¾Ð², ÑÐµÐ¼ Ð´Ð¾ Ð²Ð½ÐµÐ´ÑÐµÐ½Ð¸Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ. ÐÐµÐ½ÐµÐ´Ð¶ÐµÑÑ Ð±Ð¾Ð»ÐµÐµ Ð½Ðµ Ð½ÑÐ¶Ð½Ð¾ ÑÑÐ°ÑÐ¸ÑÑ Ð²ÑÐµÐ¼Ñ Ð½Ð° ÐºÐ¾Ð¾ÑÐ´Ð¸Ð½Ð°ÑÐ¸Ñ ÑÐ°Ð±Ð¾ÑÐ¸Ñ Ð¸ Ñ Ð½Ð¸Ñ Ð¿Ð¾ÑÐ²Ð¸Ð»Ð¾ÑÑ ÑÐ²Ð¾Ð±Ð¾Ð´Ð½Ð¾Ðµ Ð²ÑÐµÐ¼Ñ, ÐºÐ¾ÑÐ¾ÑÐ¾Ðµ Ð¾Ð½Ð¸ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾ÑÑÐ°ÑÐ¸ÑÑ Ð½Ð° Ð¿Ð¾Ð¸ÑÐº Ð½Ð¾Ð²ÑÑ Ð¾Ð±ÑÐµÐºÑÐ¾Ð², Ð¿Ð¾ÑÑÐ¾Ð¼Ñ ÑÑÐµÐ´Ð½ÐµÐµ ÐºÐ¾Ð»Ð¸ÑÐµÑÑÐ²Ð¾ Ð½Ð¾Ð²ÑÑ Ð¾Ð±ÑÐµÐºÑÐ¾Ð² Ð² Ð´ÐµÐ½Ñ Ð²ÑÑÐ¾ÑÐ»Ð¾ Ð² Ð¿Ð¾Ð»ÑÐ¾ÑÐ° ÑÐ°Ð·Ð°.
description: The aim of the work was to create an application that would allow to manage teams of workers remotely, efficiently and without constant communication with the company manager. The management problem lies in the distribution of work teams over a large area and efficient planning of their route. Also, the problem is not full Internet coverage of areas outside settlements. This dissertation describes the process of developing the server part of the application using REST API technology for storing data and maintaining the operation of a mobile application. JavaScript was chosen to develop the server side together with the Node.js framework. For this framework, the Express library is available, which serves to provide interaction via the WEB. The server application was built on the REST API architecture, which means that for each entity stored on the server, the CRUD (Create, Read, Update, Delete) methodology is implemented, which provides full functionality for interacting with objects stored in the database. Interaction with the server occurs through the http protocol using requests, requests for accessing the server were described in the advanced user documentation. PostgreSQL was chosen as the database, it was implemented on the customers server, since it was important to store data on the local machine, which caused the abandonment of databases that are provided as a service. Authorization by JWT tokens was implemented on the server, which allows you to stay in your account on the client side when you re-enter the application. A role distribution mechanism has also been implemented, which prevents users of a lower access level from making requests intended for a high access level to the server. According to the results of the introduction of the system into the companys workflow, the average productivity has increased markedly. Since the objects closest to them are now shown to the workers, they spend their working time more optimally and, therefore, manage to complete one and a half times more objects per working day than before the implementation of the application. The manager no longer needs to spend time coordinating workers and they have free time to spend searching for new properties, so the average number of new properties per day has increased by 1.5 times.