АННОТАЦИЯ 2
ВВЕДЕНИЕ 8
1. ПРОСМОТР И АНАЛИЗ ТРЕБОВАНИЙ К СИСТЕМЕ. ОБЗОР ТЕХНОЛОГИЙ 9
1.1 Постановка задачи 9
1.2 Обзор существующих решений 9
1.2.1 «Дневник.ру» 9
1.2.2 «SmileS.I I вольная карта» 11
1.3 Требования к программе 12
1.3.1 Требования к функциональным характеристикам 12
1.3.2 Требования к надежности 12
1.3.3 Требования к составу и параметрам технических средств 13
1.3.4 Требования к программной документации 13
1.4 Обзор мобильных операционных систем 13
1.4.1 Операционная система Android 13
1.4.2 Операционная система iOS 14
1.5 Инструментарий разработки 14
1.5.1 Figma 14
1.5.2 Android Studio 15
1.5.3 Язык Kotlin 15
1.5.4 JSON 15
1.5.5 Git 16
1.6 Выбор средств разработки 16
1.7 Выводы по разделу 17
2. РАЗРАБОТКА АРХИТЕКТУРЫ СИСТЕМЫ 18
2.1 Диаграмма вариантов использования приложения 18
2.1.1 Вариант использования: «Авторизация» 18
2.1.2 Вариант использования: «Просмотр внешней (общей)
информации» 19
2.1.3 Вариант использования: «Просмотр внутренней
информации» 19
2.1.4 Вариант использования: «Просмотр и редактирование
профиля» 19
2.1.5 Вариант использования: «Подача заявки, чтобы записаться в
секцию» 19
2.1.6 Вариант использования: «Заполнение и отправка заявки на
компенсирующее занятие» 19
2.1.7 Вариант использования: «Заполнение и отправка отзыва» 20
2.2 Диаграмма архитектуры 20
2.3 Проектирование интерфейса приложения 21
2.3.1 Стартовое окно приложения 21
2.3.2 Окно информации приложения 21
2.3.3 Окно клиента 22
2.3.4 Окно контактов 23
2.3.5 Окно платежей и документов 24
2.3.6 Окно новостей 25
2.3.7 Окно расписания занятий 26
2.3.8 Окно компенсирующих занятий 27
2.3.9 Окно заполнения отзыва 28
2.4 Выводы по разделу 28
3. РАЗРАБОТКА ПРИЛОЖЕНИЯ 29
3.1 Файловая структура проекта 29
3.2 Сборка проекта в APK файл 32
3.2.1 Ресурсы приложения 32
3.2.2 AIDL 34
3.2.3 Компиляция Java 34
3.2.4 Сторонние библиотеки 34
3.2.5 Выравнивание APK 35
3.2.6 Генерация ключа 35
3.2.7 Подпись приложения 36
3.3 Реализация архитектуры Redux 36
3.3.1 Класс «AppState» 36
3.3.2 Класс «Store» 37
3.3.3 Класс «Action» 37
3.3.4 Функция «Reducer» 38
3.3.5 Интерфейс «Middleware» 38
3.4 Реализация навигации приложения 39
3.4.1 Добавление зависимостей 39
3.4.2 Создание фрагментов 40
3.4.3 Создание файла ресурсов типа «Navigation» 41
3.4.4 Добавление виджета «NavHostFragment» 42
3.4.5 Реализация карт «MapBox» 43
ЗАКЛЮЧЕНИЕ 44
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 45
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1 Описание программы 47
ПРИЛОЖЕНИЕ 2 Текст программы 51
Федеральная сеть секций робототехники «Лига Роботов» занимается тем, что преподаёт робототехнику детям в возрасте 5 до 13 лет. Клиенты «Лиги Роботов» в первую очередь это родители детей, которые учатся в секции. Так как посещение секции робототехники платная услуга, то родителям важно понимать, за, что они отдают деньги. Им важно знать, как проходит процесс обучения, следить за успеваемостью своего ребенка. Этот процесс крайне сложен без прикладного программного обеспечения в виде CRM системы.
«Лига Роботов» для автоматизации большинства бизнес процессов использует «Альфа-CRM», где находится база данных детей, отчетность по оплате клиентов и оплате преподавателей. Но такая система не транслирует большинство информации своим клиентам.
Исходя из этого было предложено сделать мобильное приложение под Android, через которое можно было бы транслировать всю нужную информацию для клиентов «Лиги Роботов». Приложение может показывать информацию о филиалах секции по Челябинску, показывать полный спектр всех возможных курсов, которые проводит «Лига Роботов». Также в приложении содержится информация об успеваемости ребенка.
Таким образом такое приложение упрощает и улучшает взаимодействие работы с клиентами «Лиги Роботов».
Данная работа посвящена реализации мобильного приложения для клиентов федеральной сети секций по робототехнике «Лига Роботов». В «Лиге роботов» стояла проблема в упрощении представления информации предоставляемой клиентам секции робототехники.
В ходе проделанной работы было проанализировано несколько похожих приложений, которые могут являться конкурентами данному приложению. Из них были выявлены преимущества и недостатки. Была произведена работа с большим количеством инструментария разработки, таким как: интегрированная среда разработки «Android Studio», система контроля версий «GitLab». Был изучен язык программирования «Kotlin» и его взаимодействие с мобильными приложениями, а также был изучен архитектурный паттерн «Redux».
В ходе работы над приложением были разработаны:
- архитектура приложения;
- диаграмма использования приложения;
- пользовательский интерфейс приложения;
- первичный дизайн приложения;
- окна приложения;
- навигация приложения и взаимодействие между окнами.
По итогу разработки были выполнены все поставленные задачи по разработке приложения. Приложение решило большинство проблем связанных с упрощение представления информации клиентам «Лиге Роботов».