Необходимо разработать программный продукт для планирования встреч сотрудников внутри компании. Система состоит из клиентского мобильного приложения и серверной части.
Клиентом является Android-приложение, которое должно быть реализовано на Kotlin или Java с использованием адаптивной верстки.
Приложение должно предоставлять интуитивно понятный интерфейс, в котором реализован следующий функционал:
- Регистрация и авторизация сотрудника.
- Настройка личного профиля.
- Создание встречи с возможностью приглашения других сотрудников. Приглашенные сотрудники должны иметь возможность дать бинарный ответ (принял / не принял).
- Просмотр списка активных приглашений на встречи с возможностью дать ответ о возможности посещения.
- Просмотр собственного расписания встреч в разрезе дня, недели и месяца.
Важное условие: временные слоты для встреч разбиты строго по часам. Например, можно создать встречу на 9:00–10:00, но создание встречи на 9:10, 9:05 и т.д. — невозможно.
Сервер представляет собой микросервис на Spring Boot, работающий с СУБД PostgreSQL или H2.
Серверное приложение должно:
- Предоставлять API, необходимый для полноценной работы мобильного приложения.
- Осуществлять все основные операции с данными в базе через Spring Data JPA.
- Использовать Liquibase для создания схемы базы данных и ее предзаполнения.