Backend сервис для мобильного приложения управления задачами команды.
Система позволяет тимлидам публиковать задачи, а разработчикам — брать задачи в работу и отслеживать их выполнение через мобильное приложение.
- Java
- Spring Boot
- Spring Security
- Hibernate / JPA
- PostgreSQL
- JWT authentication
- Maven
- регистрация и аутентификация пользователей
- авторизация через JWT
- создание и управление задачами
- назначение задач участникам команды
- изменение статуса выполнения задач
- REST API для взаимодействия с мобильным приложением
Проект построен по многослойной архитектуре:
controller – REST контроллеры service – бизнес-логика приложения repository – работа с базой данных (Spring Data JPA) model – сущности базы данных auth – конфигурация безопасности и JWT
Такой подход обеспечивает разделение ответственности и упрощает поддержку кода.
Используется PostgreSQL.
Основные сущности:
- User
- Task
- Team
- TeamMember
- TaskStatus
Доступ к базе данных реализован через Hibernate (JPA).
Для защиты API используется JWT (JSON Web Token).
Процесс авторизации:
- Пользователь отправляет логин и пароль
- Сервер генерирует JWT-токен
- Токен используется для доступа к защищенным endpoint'ам
Пример основных endpoint'ов:
POST /api/auth/register
POST /api/auth/authenticate
GET /api/task/{taskID}
GET /api/task/picked
POST /api/task/pick/{taskID}
POST /api/task/finish/{taskID}
POST /api/task/approve/{taskID}
PUT /api/task/{taskID}
DELETE /api/task/{taskID}
Этот backend используется мобильным приложением, написанным на Kotlin (Android).
Приложение взаимодействует с сервером через REST API.
- Клонировать репозиторий
git clone https://github.com/FrostHoll/ProjectHiveBack
-
Настроить PostgreSQL
-
Запустить приложение
mvn spring-boot:run
Олег Щербаков