Skip to content

Приложение J4Clinic - имитация работы CRM-системы для клиники

Notifications You must be signed in to change notification settings

MaxRybetsky/j4clinic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Clinic Appointments (Консольное приложение)

Простое консольное приложение на Spring Boot 3 для управления записями на приём в клинике. Данные хранятся в PostgreSQL. Приложение использует Spring JDBC Template и миграции базы данных Flyway.

Требования

  • Java 17+
  • Maven 3.8+
  • PostgreSQL 14+

Конфигурация

Можно использовать стандартную базу postrges в PostgreSQL.

Настройте файл src/main/resources/application.yaml:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/postrges
    username: postrges
    password: postrges
  flyway:
    enabled: true

При запуске приложения Flyway автоматически применит миграции из каталога src/main/resources/db/migration (в проекте используется один файл V1__create_appointments.sql).

Сборка

Собрать исполняемый JAR-файл:

mvn clean package

Готовый файл будет находиться в target/clinic-app-1.0.jar (имя может отличаться, если вы измените версию или artifactId).

Запуск

Запуск приложения:

java -jar target/clinic-app-1.0.jar

Меню приложения

После запуска вы увидите меню:

Выберите опцию:
1 - Создать запись на приём
2 - Просмотреть детали записи по ID
3 - Редактировать запись
4 - Удалить запись
5 - Список всех записей
0 - Выход

Описание опций

  • 1 — Создать запись на приём: последовательный ввод полей. Проверяется, что строки не пустые, дата/время корректны и не в прошлом. Формат даты/времени: yyyy-MM-dd HH:mm.
  • 2 — Просмотреть детали записи по ID: введите UUID, отобразятся все поля записи или сообщение, что запись не найдена.
  • 3 — Редактировать запись: введите UUID, после загрузки записи можно изменить поля doctor_full_name, doctor_position, appointment_time, comment. Поля id, created_at, patient_full_name неизменяемы. Для каждого редактируемого поля можно оставить пустую строку, чтобы сохранить текущие значения. appointment_time повторно валидируется и не может быть в прошлом.
  • 4 — Удалить запись: удалить запись по UUID.
  • 5 — Список всех записей: краткий список записей (id, ФИО пациента, ФИО врача, дата/время приёма).
  • 0 — Выход: немедленное завершение приложения.

Структура проекта (слои)

  • app — консольное взаимодействие (меню, ввод/вывод)
  • service — бизнес-логика и валидация
  • repository — доступ к БД через Spring JDBC Template
  • model — модель сущности Appointment

About

Приложение J4Clinic - имитация работы CRM-системы для клиники

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages