Работа посвящена разработке клиент-серверного приложения для учета и анализа личных финансов с интеграцией банковских счетов через стандартизированные Банком России API.
Основные решаемые задачи:
1. Анализ требований регулятора в лице Банка России и существующих решений на рынке;
2. Проектирование архитектуры клиент-серверной системы и взаимодействия с банковскими интерфейсами;
3. Разработка клиентской и серверной частей приложения;
4. Комплексное тестирование приложения на соответствие техническим требованиям;
5. Оценка возможности дальнейшего развития продукта.
Система построена по клиент-серверной архитектуре с использованием языка Kotlin как на клиенте (Android-приложение с Jetpack Compose и MVVM), так и на сервере (Spring Boot, MCS архитектура). Обмен данными осуществляется через REST API. Хранение данных реализовано через PostgreSQL, интеграция с внешними банковскими API – через Feign-клиенты и OAuth2 для пользователя.
Разработанное приложение позволяет видеть данные о счетах, банковские операции, динамику финансов в графиках и анализировать состояние в одном месте. Результаты работы демонстрируют потенциал Open Banking для повышения финансовой осведомленности пользователей.
СОДЕРЖАНИЕ
Перечень условных обозначений, терминов и сокращений ............................... 8
ВВЕДЕНИЕ ............................................................................................................. 9
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ОБЗОР СУЩЕСТВУЮЩИХ
РЕШЕНИЙ ............................................................................................................ 10
1.1. Анализ предметной области ...................................................................... 10
1.2. Обзор существующих аналогов ................................................................. 11
1.2.1. Firefly III ....................................................................................................... 11
1.2.2. Дзен-мани .................................................................................................... 12
1.2.3. CoinKeeper ................................................................................................... 14
1.3. Вывод ........................................................................................................... 15
2. СТРУКТУРНАЯ СХЕМА СИСТЕМЫ ..................................................... 16
2.1. Техническое задание .................................................................................. 16
2.2. Структура системы ..................................................................................... 18
2.3. Вывод ........................................................................................................... 24
3. РЕАЛИЗАЦИЯ ПРИЛОЖЕНИЯ УЧЕТА ЛИЧНЫХ ФИНАНСОВ ...... 25
3.1. Клиентская часть ........................................................................................ 25
3.2. Серверная часть .......................................................................................... 33
3.3. Вывод ........................................................................................................... 38
4. ТЕСТИРОВАНИЕ ПРИЛОЖЕНИЯ УЧЕТА ЛИЧНЫХ ФИНАНСОВ . 40
4.1. Тестирование пользовательских сценариев ............................................. 40
4.2. Ручное тестирование .................................................................................. 47
4.3. Автоматизированное тестирование .......................................................... 47
4.4. Вывод ........................................................................................................... 49
ЗАКЛЮЧЕНИЕ ..................................................................................................... 51
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ............................................ 54
Приложение 1 Методика тестирования мобильного приложения учета личных
финансов ................................................................................................................ 57
Приложение 2 Протокол тестирования мобильного приложения учета личных финансов .......... 65
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Аналитический центр НАФИ. 56% россиян считают себя экономными [Электронный ресурс]. – НАФИ: [сайт]. [2024]. URL: (дата обращения: 12.12.2024).
2. Аналитический центр НАФИ. Доля пользователей мобильного банка растет, но россияне становятся менее бдительными [Электронный ресурс]. – НАФИ: [сайт]. [2024]. URL: (дата обращения:
12.12.2024).
3. Банк России. КОНЦЕПЦИЯ ВНЕДРЕНИЯ ОТКРЫТЫХ API НА ФИНАНСОВОМ РЫНКЕ. – Банк России. 2022. URL: https:/(дата обращения:12.12.2024).
4. Репозиторий приложения. Клиентская часть [Электронный ресурс]. –GitHub: [сайт]. URL: https://a (дата обращения: 3.6.2025).
5. Репозиторий приложения. Серверная часть [Электронный ресурс]. – GitHub: [сайт]. [2025]. URL: https:// (дата обращения: 3.6.2025).
6. Alva J. FastAPI Backend Architecture: Model-Controller-Service [Электронный ресурс]. – Medium: [сайт]. [2024]. URL: (дата обращения: 25.5.2025).
7. Fielding R. Architectural Styles and the Design of Network-based Software Architectures. Chapter 5: Representational State Transfer. – Fielding Dissertation. 2000. URL: (дата обращения: 25.5.2025).
всего 20 источников