88 lines
6.4 KiB
Markdown
88 lines
6.4 KiB
Markdown
# Инженерный тур заключительного этапа
|
||
|
||
## 📖 Предыстория
|
||
В компании S есть возможность бронирования мест в пространствах, предназначенных под общее использование (open-space). На данный момент для бронирования места используются различные способы бронирования, разработанные в каждом офисе индивидуально.
|
||
Администрации компании S требуется мобильное приложение, как для рядовых сотрудников, так и для администрации с возможностью просмотра забронированных мест.
|
||
|
||
## 📑 Системные требования к приложению
|
||
- Минимальная версия ОС: Android 9.0 (API 28)
|
||
- Целевая версия ОС: Android 16 (API 36)
|
||
- Работоспособность приложения для платформ: mobile (смартфоны), tablet (планшеты)
|
||
- Поддерживаемая ориентация: portrait (портретная), landscape (альбомная)
|
||
- Поддержка языков: русский, английский
|
||
- Разрешения: доступ к интернету
|
||
|
||
### Технический стек для frontend:
|
||
- Kotlin
|
||
- Ktor
|
||
- MVVM/MVI
|
||
|
||
### Технический стек для backend:
|
||
- Java 17
|
||
- Spring Boot
|
||
- PostgreSQL
|
||
- Liquibase
|
||
- Docker
|
||
- H2
|
||
|
||
### Технический стек и платформы для дизайнеров:
|
||
- PenPot
|
||
- Material Design
|
||
- Compose
|
||
- Auto Layout
|
||
- Interactive Prototypes
|
||
|
||
## 📂 Оцениваемые артефакты работы
|
||
- Репозиторий команды клиентской части приложения в Gitea.
|
||
- Репозиторий команды серверной части приложения в Gitea.
|
||
- Доска с макетом и прототипом клиентской части приложения в PenPot, ссылка на которую размещена в README.md репозитория клиентской части приложения.
|
||
- Релизный APK-файл приложения в разделе Releases репозитория команды на Gitea.
|
||
- FatJar-файл для запуска серверного приложения для заданий: 0, 1 и 2. FatJar-файл необходимо разместить в разделе Releases репозитория команды на Gitea.
|
||
На 3-ем задании необходимо добавить Docker-файл для приложения и Docker-compose (с двумя контейнерами: PostgreSQL и само серверное приложение), с помощью которого можно развернуть и запустить серверную часть.
|
||
|
||
**Важно**: если серверное приложение переведено на PostgreSQL, то наличие Docker-compose обязательно.
|
||
|
||
|
||
Описанные выше артефакты оцениваются на каждом чекпоинте. APK-файл и JAR-файл должны иметь следующее имена: Client_vN.apk и Server_vN.jar, где N — номер Чекпоинта.
|
||
|
||
## ❗️ Чекпоинты
|
||
Чекпоинт — фиксированный момент времени, в который начинается техническая экспертиза решения задания инженерного тура.
|
||
|
||
Каждый чекпоинт содержит описание функциональности, которую необходимо реализовать участникам.
|
||
|
||
Расписание чекпоинтов представлено ниже:
|
||
|
||
**Чекпоинт 0 — 24.02 в 19:00**
|
||
|
||
**Чекпоинт 1 — 25.02 в 14:00**
|
||
|
||
**Чекпоинт 2 — 25.02 в 19:00**
|
||
|
||
**Чекпоинт3 — 26.02 в 14:30**
|
||
|
||
## 🛠 Техническое задание
|
||
Требуется доработать нативное мобильное приложение, выполненное в рамках второго отборочного этапа.
|
||
|
||
Ссылки на проекты-заготовки:
|
||
|
||
Клиентская часть: https://gitnto.innovationcampus.ru/NTO-2026/NTO-2026-Android-TeamTask-Template
|
||
|
||
Серверная часть: https://gitnto.innovationcampus.ru/NTO-2026/NTO-2026-Backend-TeamTask-Template
|
||
|
||
|
||
Верстка приложения должна полностью соответствовать макетам в PenPot. Соответствие макетам является обязательным и оценивается на каждом чекпоинте. В PenPot необходимо отдельно оформить палитру цветов, используемые шрифты и типографику, типы кнопок во всех состояниях, поля ввода во всех состояниях, а также элементы навигации.
|
||
|
||
Приложение должно поддерживать дневную и ночную темы.
|
||
|
||
Интерфейс обязан корректно адаптироваться к динамическому изменению ширины экрана и перестраивать компоновку без потери состояния. Состояние экранов и пользовательский ввод должны сохраняться при повороте устройства.
|
||
|
||
## Задание 0. Развертывание исходных данных (~2 часа)
|
||
**Дедлайн сдачи артефактов: 24.02 в 19:00**
|
||
|
||
Цель: настроить среду для последующей работы.
|
||
|
||
Необходимо создать форки исходных репозиториев-заготовок в организации вашей команды в Gitea, а затем собрать все необходимые артефакты для оценивания работы.
|
||
|
||
В README.md укажите ссылку на доску в PenPot. На доске в PenPot необходимо отдельно оформить палитру цветов, используемые шрифты и типографику (UI Kit).
|
||
|