Skip to content

castroy10/doctor_docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Информационная система Doctor

Учебная информационная система учреждения здравоохранения для записи и приема пациентов

1000 докторов, 100 000 пациентов, 1 000 000 визитов

Использованные технологии:

  • Spring Boot
  • Vaadin Framework
  • Postgres SQL
  • Elastic Search
  • Flyway
  • Spring Security

Посмотреть, как это работает можно здесь: https://doctor.castroy10.ru/
Логин: doctor3, пароль: 12345

Сборка и запуск в Docker

После скачивания проекта необходимо создать в корневой папке проекта файл .env, в котором указать значения c которым запустится Postgres SQL и будет отправляться email.
POSTGRES_USERNAME=
POSTGRES_PASSWORD=
SMTP_SERVER=
EMAIL_USERNAME=
EMAIL_PASSWORD=
ELASTIC_USERNAME=
ELASTIC_PASSWORD=

Проект собирается и запускается последовательностью команд:

git clone https://github.com/castroy10/doctor_docker
cd doctor_docker
docker-compose up -d

После этого приложение соберется в контейнер, подключит контейнер базы данных, загрузит тестовые данные, создаст и скопирует данные в индекс Elastic и будет доступно по адресу http://localhost:8080

База данных состоит из следующих таблиц:
create table doctor
(
id          bigint not null generated by default as identity PRIMARY KEY,
last_name   varchar(255),
first_name  varchar(255),
middle_name varchar(255),
email       varchar(255)
);

create table category
(
id            bigint not null generated by default as identity PRIMARY KEY,
category_name varchar(255)
);

create table doctor_category
(
doctor_id   bigint references doctor,
category_id bigint references category
);

create table patient
(
id           bigint not null generated by default as identity PRIMARY KEY,
last_name    varchar(255),
first_name   varchar(255),
middle_name  varchar(255),
mobile_phone varchar(255),
email        varchar(255),
birthday     date
);

create table visit
(
id         bigint not null generated by default as identity PRIMARY KEY,
patient_id bigint,
date_time  timestamp,
diagnosis  text,
treatment  text,
comment    text,
isFinished bool,
doctor_id  bigint,
constraint fk_doctor foreign key (doctor_id) references doctor (id),
constraint fk_patient foreign key (patient_id) references patient (id)
);

create table role
(
id        bigint not null generated by default as identity PRIMARY KEY,
role_name varchar(255)
);

create table appuser
(
id                     bigint      not null generated by default as identity PRIMARY KEY,
username               varchar(100) not null,
password               varchar(100) not null,
account_nonexpired     boolean,
account_nonlocked      boolean,
credentials_nonexpired boolean,
is_enabled             boolean,
doctor_id              bigint,
constraint fk_doctor foreign key (doctor_id) references doctor (id)
);

create table appuser_role
(
appuser_id bigint references appuser,
role_id    bigint references role
);

About

Информационная система Doctor

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors