Skip to content

llav3ji2019/appliction-manager

Repository files navigation

Application manager

Таблица зарегистрированных пользователей

Username Password Roles
admin admin ADMIN
operator operator OPERATOR
user user USER

Технологический стек

  • Java 17
  • REST API
  • Swagger
  • Spring Framework (Boot, Security)
  • JPA (Hibernate ORM)
  • PostgreSQL
  • Liquibase
  • Docker compose
  • Dadata

Выполненные задачи

  1. Спроектировал и разработал систему регистрации и обработки пользовательских заявок.
    • Пользователь с помощью системы может подавать заявки оператору на рассмотрение.
    • Оператор может просматривать пользовательские заявки и принимать или отклонять их.
    • Администратор управляет правами доступа.
  2. Спроектировал и разработал back-приложение
  3. Спроектировать и разработать Базу данных
    • Настроил система управления миграциями базы данных Liquibase
  4. Проверка номера телефона через сервис Dadata

Функциональные требования

  • В системе должны быть предусмотрены 3 роли (У пользователя могут быть несколько ролей)
    • Пользователь
    • Оператор
    • Администратор
  • У заявки пользователя предусмотрено 4 статуса
    • черновик
    • отправлено
    • принято
    • отклонено
  • Пользователь может
    • логиниться в систему http://127.0.0.1:8079/auth/v1/sign-in
    • выходить из системы
    • создавать заявки http://127.0.0.1:8079/applications/v1/create/main
    • создавать черновики http://127.0.0.1:8079/applications/v1/create/draft
    • просматривать созданные им заявки с возможностью сортировки по дате создания в оба направления (как от самой старой к самой новой, так и наоборот) и пагинацией по 5 элементов http://127.0.0.1:8079/applications/v1/user/get/all
    • редактировать созданные им заявки в статусе «черновик» http://127.0.0.1:8079/applications/v1/update/draft
    • отправлять заявки на рассмотрение оператору http://127.0.0.1:8079/applications/v1/sent/application
  • Пользователь не может
    • редактировать отправленные на рассмотрение заявки
    • видеть заявки других пользователей
    • принимать заявки
    • отклонять заявки
    • назначать права
    • смотреть список пользователей
  • Оператор может
    • логиниться в систему http://127.0.0.1:8079/auth/v1/sign-in
    • выходить из системы /logout
    • смотреть все отправленные на рассмотрение заявки с возможностью сортировки по дате создания в оба направления (как от самой старой к самой новой, так и наоборот) и пагинацией по 5 элементов. Должна быть фильтрация по имени. Просматривать отправленные заявки только конкретного пользователя по его имени/части имени (у пользователя, соответственно, должно быть поле name) http://127.0.0.1:8079/applications/v1/operator/get/all
    • смотреть заявку по id http://127.0.0.1:8079/applications/v1/get/{id}
    • принимать заявки http://127.0.0.1:8079/applications/v1/accept/application
    • отклонять заявки http://127.0.0.1:8079/applications/v1/deny/application
  • Оператор НЕ может
    • создавать заявки
    • просматривать заявки в статусе отличном от «отправлено»
    • редактировать заявки
    • назначать права
  • Администратор может
    • логиниться в систему (выдача jwt и access токенов) http://127.0.0.1:8079/auth/v1/sign-in
    • выходить из системы
    • смотреть список пользователей http://127.0.0.1:8079/users/v1/get/all
    • смотреть заявки в статусе отправлено, принято, отклонено. Пагинация 5 элементов, сортировка по дате. Фильтрация по имени.http://127.0.0.1:8079/applications/v1/admin/get/all
    • назначать пользователям права оператора http://127.0.0.1:8079/role/v1/add/operator
  • Администратор НЕ может
    • создавать заявки
    • редактировать заявки
    • принимать заявки
    • отклонять заявки

Releases

No releases published

Packages

No packages published

Languages