title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ð³Ð¾ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÑÐµÑÐ° Ð»Ð¸ÑÐ½ÑÑ ÑÐ¸Ð½Ð°Ð½ÑÐ¾Ð² Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸ÐµÐ¼ Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ½Ð¾Ð¹ Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÑ
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¼Ð°Ð³Ð¸ÑÑÑÐ°
titleType: Subtitle
title: Development of a mobile application for personal finance accounting using a microservice architecture
Creators: name: ÐÑÐ¾Ð·Ð´Ð¾Ð², Ð¡ÐµÑÐ³ÐµÐ¹
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2023
Subjects: Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐ° Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ
Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÑ
Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ½Ð°Ñ Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐ°
Ð¼Ð¾Ð½Ð¾Ð»Ð¸Ñ
application architecture
microservices
microservice architecture
monolith

description: Ð ÑÐ¾Ð´Ðµ ÑÐ°Ð±Ð¾ÑÑ Ð±ÑÐ» Ð¿ÑÐ¾Ð²ÐµÐ´ÑÐ½ Ð¾Ð±Ð·Ð¾Ñ Ð¸ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ðµ ÑÑÑÐµÑÑÐ²ÑÑÑÐ¸Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ ÑÑÑÑÐ° Ð»Ð¸ÑÐ½ÑÑ ÑÐ¸Ð½Ð°Ð½ÑÐ¾Ð², Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐ¾Ð² ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð±ÑÐ»Ð¸ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ñ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ðº ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½Ð¾Ð¼Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ. ÐÑÐ»Ð¸ÑÐ¸ÑÐµÐ»ÑÐ½Ð¾Ð¹ Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾ÑÑÑÑ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑÐ²Ð»ÑÐµÑÑÑ Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð½Ð° Ð¿ÑÐ¸Ð½ÑÐ¸Ð¿Ð°Ñ Ð³ÐµÐ¹Ð¼Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¸ ÑÐ¸ÑÑÐµÐ¼Ð° Ð¿Ð¾Ð¾ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ, ÑÐ¿Ð¾ÑÐ¾Ð±ÑÑÐ²ÑÑÑÐ°Ñ ÑÐ´ÐµÑÐ¶Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÐµÐ»Ñ Ð¿ÑÑÑÐ¼ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ð½ÐµÑÐ½ÐµÐ¹ Ð¼Ð¾ÑÐ¸Ð²Ð°ÑÐ¸Ð¸ Ð¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°ÑÑÑÑ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ Ð¸ ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÐ¸. Ð ÑÐ°Ð±Ð¾ÑÐµ Ð¿ÑÐµÐ´ÑÑÐ°Ð²Ð»ÐµÐ½Ð¾ Ð¾Ð±Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð²ÑÐ±Ð¾ÑÐ° Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ½Ð¾Ð¹ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÑ, Ð¿Ð¾Ð´ÐºÑÐµÐ¿Ð»ÑÐ½Ð½Ð¾Ðµ ÑÑÐ°ÑÑÑÐ¼Ð¸, ÑÑÐ°Ð²Ð½Ð¸Ð²Ð°ÑÑÐ¸Ð¼Ð¸ Ð°ÑÑÐ¸ÑÐµÐºÑÑÑÐ½ÑÐµ Ð¿Ð¾Ð´ÑÐ¾Ð´Ñ Ð¸ Ð¾Ð¿Ð¸ÑÑÐ²Ð°ÑÑÐ¸Ð¼Ð¸ Ð¸Ð½Ð´ÑÑÑÑÐ¸Ð°Ð»ÑÐ½ÑÐ¹ Ð¾Ð¿ÑÑ Ð¿ÐµÑÐµÑÐ¾Ð´Ð° Ð½Ð° Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÑ. Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½Ð¾Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð±ÑÐ»Ð¾ ÑÐ°Ð·Ð²ÑÑÐ½ÑÑÐ¾ Ð² ÑÐµÑÐ²Ð¸ÑÐµ Ð¾Ð±Ð»Ð°ÑÐ½ÑÑ ÑÑÐ½ÐºÑÐ¸Ð¹, Ð¿Ð¾ÑÐ»Ðµ ÑÐµÐ³Ð¾ Ð±ÑÐ»Ð¾ Ð¿ÑÐ¾Ð²ÐµÐ´ÐµÐ½Ð¾ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ðµ Ñ Ð¼Ð¾Ð½Ð¾Ð»Ð¸ÑÐ½Ð¾Ð¹ Ð²ÐµÑÑÐ¸ÐµÐ¹ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð² Ð²Ð¸ÑÑÑÐ°Ð»ÑÐ½Ð¾Ð¹ Ð¼Ð°ÑÐ¸Ð½Ðµ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð½Ð°Ð³ÑÑÐ·Ð¾ÑÐ½Ð¾Ð³Ð¾ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ. ÐÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ Ð² Ð¾Ð±Ð»Ð°ÑÐ½ÑÑ ÑÑÐ½ÐºÑÐ¸ÑÑ Ð·Ð½Ð°ÑÐ¸ÑÐµÐ»ÑÐ½Ð¾ ÑÑÑÑÐ¿Ð¸Ð»Ð¾ Ð¿Ð¾ Ð¿ÑÐ¾Ð¿ÑÑÐºÐ½Ð¾Ð¹ ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾ÑÑÐ¸ Ð¸ Ð²ÑÐµÐ¼ÐµÐ½Ð¸ Ð¾Ð±ÑÐ°Ð±Ð¾ÑÐºÐ¸ Ð·Ð°Ð¿ÑÐ¾ÑÐ°, Ð¸ Ð¾ÐºÐ°Ð·Ð°Ð»Ð¾ÑÑ ÑÐºÐ¾Ð½Ð¾Ð¼Ð¸ÑÐµÑÐºÐ¸ Ð½Ðµ Ð²ÑÐ³Ð¾Ð´Ð½ÑÐ¼ Ð² ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ð¸ Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ Ð² Ð²Ð¸ÑÑÑÐ°Ð»ÑÐ½Ð¾Ð¹ Ð¼Ð°ÑÐ¸Ð½Ðµ. Ð¡Ð¸Ð»ÑÐ½Ð¾ ÑÑÑÑÐ¿Ð°ÑÑÐ¸Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð² Ð²Ð¸ÑÑÑÐ°Ð»ÑÐ½Ð¾Ð¹ Ð¼Ð°ÑÐ¸Ð½Ðµ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑÐµÐ»Ð¸ Ð¿ÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸ÑÐµÐ»ÑÐ½Ð¾ÑÑÐ¸ Ð²ÐµÑÐ¾ÑÑÐ½ÐµÐµ Ð²ÑÐµÐ³Ð¾ Ð²ÑÐ·Ð²Ð°Ð½Ñ Ð¾ÑÐ¾Ð±ÐµÐ½Ð½Ð¾ÑÑÑÐ¼Ð¸ Ð¸Ð½ÑÑÐ°ÑÑÑÑÐºÑÑÑÑ Ð¸ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð¾Ð±Ð»Ð°ÑÐ½ÑÑ ÑÑÐ½ÐºÑÐ¸Ð¹ Ñ Ð²ÑÐ±ÑÐ°Ð½Ð½Ð¾Ð³Ð¾ Ð¾Ð±Ð»Ð°ÑÐ½Ð¾Ð³Ð¾ Ð¿ÑÐ¾Ð²Ð°Ð¹Ð´ÐµÑÐ°.
description: In the course of the work, a review and comparison of existing applications for personal finance accounting was carried out, and requirements for the developed application were determined based on results of the comparison. A distinctive feature of the application is a user reward system based on the principles of gamification, that contributes to user retention by creating external motivation to use the application and supporting it. Rationale for choosing a microservice architecture is presented, supported by articles comparing architectural approaches and describing the industrial experience of migrating to microservices. The developed application was deployed in the cloud functions service, after which it was compared with the monolithic version of the application in a virtual machine using load testing. The application in cloud functions was significantly inferior in terms of throughput and processing time of the request, and it was not economically viable in comparison with the application in the virtual machine. The performance indicators, which are much inferior to the application in a virtual machine, are most likely caused by peculiarities of infrastructure and implementation of cloud functions at the selected cloud provider.