Skip to content

Repository files navigation

Medical Appointment System

Веб-приложение для записи пациентов к врачам, работы регистратуры, просмотра приемов врачом и управления расписанием главным врачом

Реализовано

  • публичная часть для пациента: выбор врача, запись, подтверждение, кабинет, отмена записи
  • внутренняя часть для сотрудников: регистратура, рабочее место врача, администрирование расписания
  • роли 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 bootRun

Linux:

./gradlew bootRun

Приложение откроется на http://localhost:8080

OpenAPI в локальном режиме:

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

Windows:

Copy-Item .env.local.example .env
docker compose up --build

Linux:

cp .env.local.example .env
docker compose up --build

Адреса:

Остановка:

Windows и Linux:

docker compose down

Тестовые пользователи

Пользователи задаются импортом realm Keycloak из docker/keycloak/realm/medical-appointment-realm.json

  • patient — пациент
  • registrar — регистратор
  • doctor — врач
  • chief-doctor — главный врач

Пароли смотри в realm-файле или переопредели при подготовке окружения

Проверка качества

Windows:

.\gradlew.bat spotlessCheck test

Linux:

./gradlew spotlessCheck test

Автоформатирование:

Windows:

.\gradlew.bat spotlessApply

Linux:

./gradlew spotlessApply

Pre-commit hook

Установка локального hook:

Windows:

.\gradlew.bat installGitHooks

Linux:

./gradlew installGitHooks

Hook запускает spotlessApply перед коммитом

Документация

Диаграммы лежат в docs/diagrams

About

👨‍⚕️Self-hosted медицинская информационная система для записи пациентов

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages