В данной работе рассматривается процесс разработки мобильного приложения для бартерного обмена на платформе Android. Основной функционал приложения позволяет пользователям публиковать свои предложения, находить подходящие варианты обмена и отправлять запросы на обмен другим пользователям.
1. Поиск и анализ аналогов в Google Play Market;
2. Выбор средств разработки;
3. Разработка требований к приложению;
4. Разработка приложения с заявленным функционалом;
5. Оценка полученного результата и анализ проделанной работы;
Разработка велась на языке Kotlin в среде Android Studio с использованием архитектурного подхода MVVM. Интерфейс пользовательских экранов был реализован с применением XML, с учетом рекомендаций Material Design от Google. Обмен данными и хранение информации реализованы с помощью Firebase Realtime Database и Node.js. Для многопоточности использовались Kotlin Coroutines [4].
Результатом работы стало мобильное приложение для удобного бартерного обмена; было успешно проведено функциональное и нагрузочное тестирование.
СОДЕРЖАНИЕ
СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ ...................................................... 8
ВВЕДЕНИЕ .................................................................................................................. 9
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ ................................................................................................................. 10
1.1 Обзор предметной области ............................................................................ 10
1.2 Обзор существующих решений ..................................................................... 10
1.2.1. Юла ........................................................................................................... 11
1.2.2. SwapIt ........................................................................................................ 11
1.2.3. Avito .......................................................................................................... 11
1.3 Выводы ............................................................................................................. 11
2. СТРУКТУРНАЯ СХЕМА СИСТЕМЫ ........................................................... 13
2.1. Обоснование выбора инструментов разработки .................................... 13
2.1.1. Операционная система ........................................................................... 13
2.1.2. Среда разработки ................................................................................. 13
2.1.3. Язык программирования .................................................................... 14
2.1.4. Система сборки проекта ..................................................................... 15
2.1.5. Реализация сервера ............................................................................. 15
2.2. Техническое задание ................................................................................. 17
2.2.1. Наименование программы: ................................................................ 17
2.2.2. Кратная характеристика области применения: ................................ 17
2.2.3. Требования к программе или программному изделию ................... 18
2.2.4. Требования к организации входных и выходных данных: ............. 19
2.2.5. Требования к временным характеристикам ..................................... 19
2.2.6. Требования к надежности .................................................................. 20
2.2.7. Условия эксплуатации ........................................................................ 21
2.2.8. Требования к составу и параметрам технических средств ............. 21
2.2.9. Требования к информационной и программной совместимости ... 21
2.3. Структура системы .................................................................................... 22
2.3.1. Структура Клиентской части ............................................................. 22
2.3.2. Структура серверной части ................................................................ 24
2.4. Выводы ....................................................................................................... 26
3. РЕАЛИЗАЦИЯ .................................................................................................. 27
3.1. Реализация клиентской части ................................................................... 27
3.2. Реализация серверной части ..................................................................... 28
3.3. Примеры реализации отдельных частей ................................................. 31
3.4. Выводы ....................................................................................................... 39
4. ТЕСТИРОВАНИЕ ............................................................................................. 40
4.1. Функциональное тестирование ................................................................ 40
4.1.1. Тестирование работы валидации ....................................................... 40
4.1.2. Тестирование сброса пароля по почте .............................................. 42
4.1.3. Тестирование индикатора загрузки ................................................... 43
4.1.4. Тестирование потери соединения с интернетом .................................. 44
4.2. Нагрузочное тестирование ....................................................................... 46
4.2.1. Тестирование загрузки изображений ................................................ 46
4.2.2. Тестирование отправки изображений ............................................... 47
4.2.3. Тестирование Firebase Realtime database .......................................... 47
4.3. Выводы ....................................................................................................... 49
ЗАКЛЮЧЕНИЕ ......................................................................................................... 50
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ............................................... 51
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Библиотека для выбора изображений в Android – Pix ImagePicker [Электронный ресурс] – URL: (дата обращения: 11.01.2025).
2. Библиотека для загрузки и отображения изображений – Picasso [Электронный ресурс] – URL: / (дата обращения: 05.02.2025).
3. Документация по библиотеке Multer для обработки загрузки файлов – Multer Middleware [Электронный ресурс] – URL: (дата обращения: 26.02.2025).
4. Документация по работе с базой данных в реальном времени – Firebase Realtime Database [Электронный ресурс] – URL: (дата обращения: 17.010.2024).
5. Документация по сервису туннелирования для локального сервера – Ngrok Documentation [Электронный ресурс] – URL: (дата обращения: 12.03.2025).
всего 19 источников