- Docker
1.24.2+— Скачать
💡 Совет: VS Code с расширением Flutter + Dart
# Backend
git clone -b develop https://github.com/AlexanderMorozov1919/ElectronicQueue.git
# Frontend
git clone -b develop https://github.com/AlexanderMorozov1919/electronicqueue-frontend.git
# Главный каталог
cd ElectronicQueuecp .env.example .envОтредактируйте файл .env:
DB_USER=postgres
DB_PASSWORD=1234
DB_HOST=localhost
DB_PORT=5432
DB_NAME=el_queue
DB_SSLMODE=disable
BACKEND_PORT=8081
FRONTEND_PORT=3000
API_BASE_URL=http://localhost:8081
BROWSER=chrome
JWT_SECRET=your-secret-key
JWT_EXPIRATION=24h
LOG_DIR=logs
TICKET_DIR=tickets
INTERNAL_API_KEY=iak12345
EXTERNAL_API_KEY=eak12345
TICKET_MODE=b/w
PRINTER_PAPER_WIDTH_MM=80
PRINTER_DPI=200
PRINTER_NAME=ThermalPrinter
ONE_C_URL=http://localhost:8081/umc/ru/hs/electronicqueue
ONE_C_API_KEY="..."
ONE_C_CONF=1C.conf
MAINTENANCE_TIME=00:00
BACKGROUND_MUSIC=false./install [local] [docker] [go] [go-docker] [flutter] [flutter-docker] [fill] [rewrite]| Параметр | Описание |
|---|---|
go |
Сборка и настройка backend на Go (требуется Golang + PostgreSQL) |
go-docker |
Сборка и настройка backend на Go в Docker (требуется Docker) |
flutter |
Сборка и настройка frontend на Flutter (требуется Flutter + Dart) |
flutter-docker |
Сборка и настройка frontend на Flutter в Docker (требуется Docker) |
local |
Локальная сборка Go и Flutter |
docker |
Сборка Go и Flutter в Docker |
fill |
Заполнение базы данных тестовыми значениями |
rewrite |
Пересоздать базу данных (удалить и создать заново) |
./run [go|go-docker] [flutter|flutter-docker] [local|docker]| Параметр | Описание |
|---|---|
go |
Запуск backend на Go (требуется Golang + PostgreSQL) |
go-docker |
Запуск backend на Go в Docker (требуется Docker) |
flutter |
Запуск frontend на Flutter (требуется Flutter + Dart) |
flutter-docker |
Запуск frontend на Flutter в Docker (требуется Docker) |
local |
Запуск Go и Flutter локально |
docker |
Запуск Go и Flutter в Docker |
Если вы не хотите собирать проект, можно воспользоваться готовыми архивами:
- backend_build.zip — находится в репозитории
ElectronicQueue - frontend_build.zip — находится в репозитории
electronicqueue-frontend
- Распакуйте архив
backend_build.zipв отдельную папку.unzip backend_build.zip -d backend_build - Перейдите в папку с распакованным backend.
cd backend_build - Запустите backend, используя бинарник для вашей ОС:
Windows:
Linux:
./windows-amd64.exemacOS:./linux-amd64Backend будет доступен по адресу:./darwin-amd64http://localhost:{BACKEND_PORT}
- Распакуйте архив
frontend_build.zipв отдельную папкуunzip frontend_build.zip -d frontend_build - Перейдите в папку с распакованным frontend
cd frontend_build - Запустите локальный сервер командой:
Frontend будет доступен по адресу:
python -m http.server {FRONTEND_PORT}http://localhost:{FRONTEND_PORT}/{имя_сервиса}/
./uninstall [go] [go-docker] [flutter] [flutter-docker] [local] [docker]| Параметр | Действие |
|---|---|
go |
Удаляет базу данных PostgreSQL и артефакты сборки Go |
go-docker |
Полная очистка backend: контейнеры, образы, volume, orphans |
flutter |
Очищает проект Flutter |
flutter-docker |
Полная очистка frontend: контейнеры, образы, volume, orphans |
local |
Очистка локального окружения, объединяющая очистку Go и Flutter |
docker |
Полная очистка backend и frontend в Docker |
| Сервис | URL | Описание |
|---|---|---|
| 🔧 Backend API | http://localhost:{BACKEND_PORT} |
REST API сервер |
| 📚 Swagger UI | http://localhost:{BACKEND_PORT}/swagger/index.html |
Документация API |
| 👨⚕️ Доктор | http://localhost:{FRONTEND_PORT} |
Окно доктора |
| 🏥 Очередь к доктору | http://localhost:{FRONTEND_PORT+1} |
Очередь к доктору |
| 🔳 Очередь к регистратору | http://localhost:{FRONTEND_PORT+2} |
Электронное табло очереди |
| 📝 Регистратор | http://localhost:{FRONTEND_PORT+3} |
Окно регистратора |
| 🖥️ Терминал | http://localhost:{FRONTEND_PORT+4} |
Интерфейс терминала |
| 📅 Расписание | http://localhost:{FRONTEND_PORT+5} |
Расписание врачей |
Полная документация доступна в Swagger UI
- Чтобы Docker работал, необходимо запустить Docker Desktop.
- Если y Docker возникают ошибки, попробуйте перезагрузить Docker Desktop.
