Skip to content

AlexanderMorozov1919/ElectronicQueue

Repository files navigation

ElectronicQueue - Сервис электронной очереди

Go GORM Gin JWT PostgreSQL Docker REST API Swagger

Пример талона

📋 Системные требования

Docker (Деплой)

Backend (Локальная разработка)

Frontend (Локальная разработка)

💡 Совет: VS Code с расширением Flutter + Dart


📦 Установка

1️⃣ Клонирование репозиториев

# Backend
git clone -b develop https://github.com/AlexanderMorozov1919/ElectronicQueue.git

# Frontend
git clone -b develop https://github.com/AlexanderMorozov1919/electronicqueue-frontend.git

# Главный каталог
cd ElectronicQueue

2️⃣ Конфигурация окружения

cp .env.example .env

3️⃣ Настройка переменных

Отредактируйте файл .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

1️⃣ Backend

  1. Распакуйте архив backend_build.zip в отдельную папку.
    unzip backend_build.zip -d backend_build
    
  2. Перейдите в папку с распакованным backend.
    cd backend_build
    
  3. Запустите backend, используя бинарник для вашей ОС: Windows:
    ./windows-amd64.exe
    
    Linux:
    ./linux-amd64
    
    macOS:
    ./darwin-amd64
    
    Backend будет доступен по адресу: http://localhost:{BACKEND_PORT}

2️⃣ Frontend

  1. Распакуйте архив frontend_build.zip в отдельную папку
    unzip frontend_build.zip -d frontend_build
    
  2. Перейдите в папку с распакованным frontend
    cd frontend_build
    
  3. Запустите локальный сервер командой:
    python -m http.server {FRONTEND_PORT}
    
    Frontend будет доступен по адресу: 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.

🎉 Готово! Приложение запущено и готово к работе

About

ElectronicQueue

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors