|
|
@@ -0,0 +1,51 @@
|
|
|
+# Дневник здоровья (HealthDiary)
|
|
|
+
|
|
|
+## Несколько скринов программы:
|
|
|
+<img src="./media/screen1.png" width="256"> <img src="./media/screen2.png" width="256"> <img src="./media/screen3.png" width="256">
|
|
|
+
|
|
|
+Дневник для сохранения измерений важных показателей здоровья.<BR>
|
|
|
+Многопользовательское приложение, которое позволяет сохранять основные показатели здоровья человека.
|
|
|
+К таким показателям относятся:
|
|
|
++ температура
|
|
|
++ давление
|
|
|
++ пульс
|
|
|
++ сахар в крови
|
|
|
++ сатурация
|
|
|
+и другие
|
|
|
+
|
|
|
+## Основные возможности:
|
|
|
++ личный кабинет пользователя
|
|
|
++ создание списка наблюдаемых (профилей), людей для которых сохраняются показатели (измерения)
|
|
|
++ создание общих профилей для нескольких пользователей
|
|
|
++ ввод/изменение выбранного измерения
|
|
|
++ просмотр раннее введенных измерений списком и на графике
|
|
|
+
|
|
|
+## Арихитектурное решение:
|
|
|
++ многомодульное приложение с "чистой архитектурой" внутри каждого модуля
|
|
|
++ единственным источником правды (SSOT) выступает локальная SQLite БД с использованием Room
|
|
|
++ подключен статический анализатор кода [Detekt](https://github.com/detekt/detekt)
|
|
|
++ для подсчета покрытия кода тестами подключен плагин на основе [JaCoCo](https://github.com/jacoco/jacoco)
|
|
|
++ написаны модульные и инструментальные тесты на примере ТОЛЬКО одного модуля (фичи)
|
|
|
++ написаны для демонстрации несколько собственных правил для Lint
|
|
|
++ добавлен CI скрипт для [Jenkins](https://www.jenkins.io/)
|
|
|
+
|
|
|
+## Стек технологий:
|
|
|
++ Kotlin
|
|
|
++ Dagger 2
|
|
|
++ MVVM
|
|
|
++ Coroutine
|
|
|
++ Android Navigation
|
|
|
++ Architecture Components (Room для локального кеша данных)
|
|
|
++ Retrofit
|
|
|
+
|
|
|
+## Серверная часть:
|
|
|
++ Django
|
|
|
++ DRF (Django REST Framework)
|
|
|
++ SQLite (используется на этапе разработки, т.к. ORM то потом можно выбрать MySQL или Postrges)
|
|
|
+
|
|
|
+## Список экранов:
|
|
|
++ Регистрация/авторизация пользователя
|
|
|
++ Предоставление доступа одним пользователям к профилям других
|
|
|
++ Настройки типов измерений
|
|
|
++ Добавить/редактировать измерение
|
|
|
++ Просмотр измерений списком/графиком
|