Skip to content

GoaKapser/TP-4.2-2_Server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Серверная часть приложения "Мои ИПУ"

Ссылка на репозиторий с андроид приложением "Мои ИПУ"

Ссылки проекта:

Документация:

ТЗ

Техническое задание.docx
Техническое задание.pdf

Курсовая работа

Курсовая работа.docx
Курсовая работа.pdf

Сопроводительное письмо

Сопроводительное письмо

Презентации

Презентация ТЗ
Презентация проекта

Отчет по ролям

Отчет по ролям.docx
Отчет по ролям.pdf

Видео

Видеопрезентация ТЗ
Обзор клиентской части
Обзор серверной части
Обзор процесса развертывания проекта
Пример работы приложения
Видео с презентацией проекта

Инструкция по запуску

Скачать apk файл и установить приложение.

Для авторизации использовать:

Логин - 12345
Пароль - password

Аналитика

Для входа в гугл аккаунт использовать:

Логин - [email protected]
Пароль - Qwerty123456. (С точкой)

Ссылки:

Скриншоты аналитической системы находятся в курсовой работе.

Описание проекта

Мои ИПУ - приложение для сбора показаний индивидуальных приборов учёта и начисления платы за потреблённые коммунальные услуги.

Основные функции:

  • Передача показаний индивидуальных приборов учёта
  • Формирование платежей за потреблённые услуги
  • Оплата потреблённых коммунальных услуг
  • Отображение статистики потребления коммунальных услуг

Описание команды и ролей

Сарайкин Алексей:

  • Тимлид команды
  • Владелец продукта
  • Разработка клиентской части приложения

Солодовникова Яна:

  • Скрам мастер
  • Разработка серверной части приложения

Процесс разработки

Разработка велась по методологии SCRUM. Для визуализации процесса использовалась scrum доска с модификацией в виде добавления колонки "Rewiev" для обозначения статуса "соответствует критериям готовности и готово к демонстрации на обзоре". Синхронизировались на дейли - созванивались на 10-15 минут и обсуждали прогресс.
Владелец продукта приоритизировал бэклог. Скрам мастер отвечал за эффективность процессов работы.

Архитектура

Клиентская часть

Приложение реализовано с использованием архитектуры MVI (Model-View-Intent).
Подход заключается в абстрагировании сущностей UI-слоя друг от друга, и в выстраивании непрямых связей между ними на основе отсылки событий. Таким образом, получается решить проблему излишней запутанности связей между элементами и наладить однонаправленный поток данных.

Основные сущности:

  • Event - любое событие, обрабатываемое на UI-слое приложения
  • StateHolder - класс, отвечающий за хранение состояния экрана, и его передачу View
  • Reducer - класс, выполняющий изменение state в зависимости от события
  • Middleware - промежуточный слой между UI и данными, который чаще всего используется для получения данных из сервисного слоя

Серверная часть

Сервер реализован с помощью MVC (Model-View-Controller) архитектуры.
Она обеспечивает разделение ответственности между компонентами приложения, что упрощает его поддержку, расширение и тестирование.

Основные сущности:

  • Service - реализует бизнес-логику приложения
  • Entity - является моделью представления данных
  • Controller - обрабатывает входящие HTTP запросы и формирует ответы

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.5%
  • Dockerfile 0.5%