Skip to content

coungard/univer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 University

University — это веб-приложение для управления данными университета: студентами, преподавателями, курсами, лекциями и другими академическими сущностями. Приложение разработано с использованием современных технологий и архитектурных подходов, обеспечивая масштабируемость, безопасность и удобство поддержки.


🚀 Основные возможности

  • Управление университетами, кафедрами, студентами и преподавателями
  • Создание и ведение курсов и лекций
  • Зачисление студентов на курсы
  • Отслеживание посещаемости
  • Регистрация студентов через Keycloak
  • Полный CRUD через REST API
  • Документация API через Swagger UI (OpenAPI 3)
  • Безопасность с JWT и OAuth2 через Keycloak
  • Миграции базы данных с Flyway
  • Пагинация, фильтрация и сортировка

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

Категория Технологии
Backend Spring Boot 3, Java 17
Секурность Spring Security, OAuth2, JWT, Keycloak
База данных PostgreSQL, Flyway (миграции), UUID
ORM JPA / Hibernate
API REST, OpenAPI 3 (Swagger UI)
DI / Mapping Lombok, MapStruct
Тестирование JUnit 5, Testcontainers
Контейнеризация Docker, docker-compose
Логирование SLF4J, Logback

📦 Архитектура

Приложение построено по принципам чистой архитектуры:

  • Слой контроллеров → сервисы → репозитории
  • DTO и мапперы для изоляции слоёв
  • Конфигурация безопасности через SecurityConfig
  • Централизованная обработка ошибок (@ControllerAdvice)
  • Поддержка пагинации и фильтрации

🔐 Аутентификация и авторизация

  • Интеграция с Keycloak как Identity Provider
  • Роли: ADMIN, STUDENT
  • Автоматическая регистрация студентов через API
  • Защита всех приватных эндпоинтов через JWT
  • Swagger UI с OAuth2-авторизацией

🧪 Тестирование

  • Интеграционные тесты с Testcontainers (PostgreSQL в Docker)
  • Покрытие основных сценариев: CRUD, безопасность, валидация
  • Поддержка @SpringBootTest и @WebMvcTest

🐳 Запуск через Docker

  1. Убедитесь, что установлены:

    • Docker
    • Docker Compose
  2. Запустите всё окружение:

docker-compose up --build

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages