Please use this identifier to cite or link to this item: http://elartu.tntu.edu.ua/handle/lib/52633
Title: Розробка програмного забезпечення для моніторингу персональних активів, побудованого на основі мікросервісної архітектури з використанням платформи Node.js
Other Titles: Development of software for monitoring personal assets based on microservice architecture using the Node.js platform
Authors: Ковалишин, Тимофій Едуардович
Kovalyshyn, Tymofii
Affiliation: ТНТУ ім. І. Пулюя, Факультет комп’ютерно-інформаційних систем і програмної інженерії, Кафедра програмної інженерії, м. Тернопіль, Україна
Bibliographic reference (2015): Ковалишин Т. Е. Розробка програмного забезпечення для моніторингу персональних активів, побудованого на основі мікросервісної архітектури з використанням платформи Node.js : робота на здобуття кваліфікаційного ступеня бакалавра : 121 - інженерія програмного забезпечення / наук. кер. І. В. Коноваленко. Тернопіль : Тернопільський національний технічний університет імені Івана Пулюя, 2026. 92 с.
Issue Date: Jun-2026
Date of entry: 24-Jun-2026
Publisher: Тернопільський національний технічний університет імені Івана Пулюя
Place of the edition/event: Тернопільський національний технічний університет імені Івана Пулюя, факультет ФІС
Supervisor: Коноваленко, Ігор Володимирович
Committee members: Гладьо, Сергій Володимирович
UDC: 004.9
Keywords: інженерія програмного забезпечення
моніторинг персональних активів
мікросервісна архітектура
серверна розробка
NoSQL база даних
REST API
JWT-авторизація
Docker Compose
software engineering
personal asset monitoring
microservice architecture
server-side development
JWT authorization
Number of pages: 92
Abstract: Кваліфікаційна робота бакалавра присвячена розробці програмного забезпечення для моніторингу персональних активів, побудованого на основі мікросервісної архітектури з використанням платформи Node.js. Метою роботи є створення серверної програмної системи для обліку доходів, витрат і персональних активів користувача з використанням REST API, MongoDB та механізму JWT-авторизації. У роботі розглянуто проблему ручного обліку фінансових операцій і майнових активів, проаналізовано вимоги до програмної системи, визначено сценарії взаємодії користувача та обґрунтовано доцільність використання мікросервісної архітектури. Розроблена система складається з API Gateway, Auth Service, Transaction Service та Asset Service. API Gateway забезпечує єдину точку входу й перенаправлення запитів до відповідних сервісів. Auth Service реалізує реєстрацію користувача, вхід до системи, хешування пароля та формування JWT-токена. Transaction Service забезпечує створення доходів і витрат, роботу з фінансовими транзакціями та розрахунок балансу. Asset Service відповідає за додавання персональних активів, збереження їхніх характеристик і формування зведення за категоріями. Для збереження даних використано MongoDB, а взаємодію з базою даних організовано через Mongoose. Розгортання програмної системи виконано за допомогою Docker Compose, що дозволяє запускати API Gateway, три мікросервіси та окремі MongoDB-контейнери як єдине середовище. Перевірку працездатності виконано через Postman. Було протестовано реєстрацію користувача, логін, отримання JWT-токена, додавання доходу, додавання витрати, перегляд балансу, створення активу та отримання зведення активів за категоріями.
The bachelor qualification work is devoted to the development of software for monitoring personal assets based on microservice architecture using the Node.js platform. The purpose of the work is to create a server-side software system for accounting income, expenses and personal assets of a user using REST API, MongoDB and a JWT authorization mechanism. The work considers the problem of manual accounting of financial transactions and property assets, analyzes the requirements for the software system, defines user interaction scenarios and substantiates the feasibility of using microservice architecture. The developed system consists of API Gateway, Auth Service, Transaction Service and Asset Service. API Gateway provides a single entry point and redirects requests to the appropriate services. Auth Service implements user registration, login, password hashing and JWT token generation. Transaction Service provides the creation of income and expense records, processing of financial transactions and balance calculation. Asset Service is responsible for adding personal assets, storing their characteristics and generating a summary by categories. MongoDB was used for data storage, while database interaction was organized through Mongoose. The deployment of the software system was implemented using Docker Compose, which makes it possible to run API Gateway, three microservices and separate MongoDB containers as a single environment. The system functionality was tested using Postman. User registration, login, JWT token generation, income creation, expense creation, balance retrieval, asset creation and asset summary retrieval by categories were tested.
Content: АНОТАЦІЯ 4 ABSTRACT 6 ПЕРЕЛІК СКРОЧЕНЬ 8 ВСТУП 11 РОЗДІЛ 1. АНАЛІЗ ПОТРЕБ КОРИСТУВАЧА ТА ВИМОГ ДО СИСТЕМИ МОНІТОРИНГУ ПЕРСОНАЛЬНИХ АКТИВІВ 13 1.1 Особливості обліку персональних активів, доходів і витрат у цифрових фінансових системах 13 1.2 Проблеми ручного ведення фінансових записів і контролю майнових активів користувача 15 1.3 Порівняльний аналіз програмних аналогів для обліку особистих фінансів і активів 17 1.4 Формування функціональних і нефункціональних вимог до розроблюваної системи 19 1.5 Сценарії взаємодії користувача із системою моніторингу активів 21 1.6 Постановка задачі та визначення меж програмного продукту 23 РОЗДІЛ 2. ПРОЄКТУВАННЯ ТА РЕАЛІЗАЦІЯ МІКРОСЕРВІСНОЇ СИСТЕМИ НА ПЛАТФОРМІ NODE.JS 26 2.1 Обґрунтування вибору мікросервісної архітектури для системи персонального фінансового моніторингу 26 2.2 Побудова загальної структури програмної системи з використанням API Gateway 29 2.3 Реалізація сервісу авторизації користувача та захисту маршрутів за допомогою JWT 32 2.4 Розробка сервісу фінансових транзакцій для обліку доходів, витрат і балансу 35 2.5 Розробка сервісу персональних активів і формування зведення за категоріями 39 2.6 Проєктування моделей MongoDB, REST API та контейнеризованого середовища запуску 42 РОЗДІЛ 3. ПЕРЕВІРКА ПРАЦЕЗДАТНОСТІ, ТЕСТУВАННЯ API ТА РОЗГОРТАННЯ ПРОГРАМНОЇ СИСТЕМИ 46 3.1 Підготовка середовища запуску мікросервісів і баз даних через Docker Compose 46 3.2 Перевірка реєстрації, входу користувача та отримання JWT-токена 49 3.3 Тестування захищених API-запитів до сервісів транзакцій і активів 52 3.4 Перевірка створення доходів, витрат і автоматичного розрахунку балансу 55 3.5 Тестування додавання персонального активу та отримання зведення за категоріями 59 3.6 Оцінка результатів тестування, стабільності роботи та можливостей подальшої підтримки системи 62 РОЗДІЛ 4. БЕЗПЕКА ЖИТТЄДІЯЛЬНОСТІ, ОСНОВИ ОХОРОНИ ПРАЦІ 67 4.1 Моделювання та прогнозування небезпечних ситуацій 67 4.2 Вимоги ергономіки до організації робочого місця оператора ПК 69 ВИСНОВКИ 72 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 74 ДОДАТКИ 77 ДОДАТОК А 78 ДОДАТОК Б 90
URI: http://elartu.tntu.edu.ua/handle/lib/52633
Copyright owner: © Ковалишин Тимофій Едуардович, 2026
References (Ukraine): 1. Guide to the Software Engineering Body of Knowledge (SWEBOK Guide), Version 4.0 / ed. H. Washizaki. IEEE Computer Society, 2024. URL: https://www.computer.org/education/bodies-of-knowledge/software-engineering (дата звернення: 07.06.2026).
2. ISO/IEC/IEEE 12207:2017. Systems and software engineering — Software life cycle processes. Geneva : International Organization for Standardization, 2017. URL: https://www.iso.org/standard/63712.html (дата звернення: 07.06.2026).
3. ISO/IEC/IEEE 29148:2018. Systems and software engineering — Life cycle processes — Requirements engineering. Geneva : International Organization for Standardization, 2018. URL: https://www.iso.org/standard/72089.html (дата звернення: 07.06.2026).
4. ISO/IEC 25010:2011. Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models. Geneva : International Organization for Standardization, 2011. URL: https://www.iso.org/standard/35733.html (дата звернення: 07.06.2026).
5. Sommerville I. Software Engineering. 10th ed. Boston : Pearson, 2016. 816 p.
6. Pressman R. S., Maxim B. R. Software Engineering: A Practitioner’s Approach. 9th ed. New York : McGraw-Hill Education, 2020. 704 p.
7. Bass L., Clements P., Kazman R. Software Architecture in Practice. 4th ed. Boston : Addison-Wesley Professional, 2021. 464 p.
8. Newman S. Building Microservices: Designing Fine-Grained Systems. 2nd ed. Sebastopol : O’Reilly Media, 2021. 612 p.
9. Richardson C. Microservices Patterns: With examples in Java. Shelter Island : Manning Publications, 2018. 520 p.
10. Fowler M. Patterns of Enterprise Application Architecture. Boston : Addison-Wesley Professional, 2002. 560 p.
11. Fielding R. T. Architectural Styles and the Design of Network-based Software Architectures : doctoral dissertation. Irvine : University of California, 2000. URL: https://ics.uci.edu/~fielding/pubs/dissertation/top.htm (дата звернення: 07.06.2026).
12. Fielding R., Nottingham M., Reschke J. RFC 9110: HTTP Semantics. Internet Engineering Task Force, 2022. URL: https://datatracker.ietf.org/doc/html/rfc9110 (дата звернення: 07.06.2026).
13. Jones M., Bradley J., Sakimura N. RFC 7519: JSON Web Token (JWT). Internet Engineering Task Force, 2015. URL: https://datatracker.ietf.org/doc/html/rfc7519 (дата звернення: 07.06.2026).
14. OWASP Application Security Verification Standard (ASVS). OWASP Foundation. URL: https://owasp.org/www-project-application-security-verification-standard/ (дата звернення: 07.06.2026).
15. Node.js v20.x Documentation. Node.js. URL: https://nodejs.org/download/release/latest-v20.x/docs/api/ (дата звернення: 07.06.2026).
Content type: Bachelor Thesis
Appears in Collections:121 — Інженерія програмного забезпечення, F2 Інженерія програмного забезпечення (бакалаври)

Files in This Item:
File Description SizeFormat 
dyplom_Kovalyshyn_T_2026.pdf4,06 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Admin Tools