Веб-приложение для записи пациентов к врачам, работы регистратуры, просмотра приемов врачом и управления расписанием главным врачом
- публичная часть для пациента: выбор врача, запись, подтверждение, кабинет, отмена записи
- внутренняя часть для сотрудников: регистратура, рабочее место врача, администрирование расписания
- роли
PATIENT,REGISTRAR,DOCTOR,CHIEF_DOCTOR - OIDC через Keycloak, отдельные публичный и внутренний клиенты
- режимы входа
local,ad,freeipa,ldap,external-oidc - PostgreSQL, Flyway, jOOQ
- REST API и OpenAPI в непроизводственном режиме
- Dockerfile, compose, Caddy reverse proxy
- тесты безопасности и интеграционные smoke-проверки
Windows:
.\gradlew.bat bootRunLinux:
./gradlew bootRunПриложение откроется на http://localhost:8080
OpenAPI в локальном режиме:
Windows:
Copy-Item .env.local.example .env
docker compose up --buildLinux:
cp .env.local.example .env
docker compose up --buildАдреса:
- публичная часть: http://public.localhost:8080
- внутренняя часть: http://internal.localhost:8080
- Keycloak: http://auth.localhost:8080
Остановка:
Windows и Linux:
docker compose downПользователи задаются импортом realm Keycloak из docker/keycloak/realm/medical-appointment-realm.json
patient— пациентregistrar— регистраторdoctor— врачchief-doctor— главный врач
Пароли смотри в realm-файле или переопредели при подготовке окружения
Windows:
.\gradlew.bat spotlessCheck testLinux:
./gradlew spotlessCheck testАвтоформатирование:
Windows:
.\gradlew.bat spotlessApplyLinux:
./gradlew spotlessApplyУстановка локального hook:
Windows:
.\gradlew.bat installGitHooksLinux:
./gradlew installGitHooksHook запускает spotlessApply перед коммитом
- Обзор документации
- Сценарии пользователей
- Настройка приложения
- Запуск и окружение
- Безопасность и SSO
- Тестирование
- Эксплуатация
Диаграммы лежат в docs/diagrams