Skip to content

songflows/test_q

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Queue Management System

Современная система управления электронными очередями с мобильным приложением на Flutter и backend на FastAPI.

🏗️ Архитектура

  • Backend: FastAPI + PostgreSQL + Redis + Docker
  • Mobile App: Flutter (iOS/Android)
  • Authentication: Email, Google OAuth, Facebook OAuth
  • Real-time: WebSockets для обновлений очереди
  • QR Codes: Быстрый доступ к поинтам через QR-коды

🚀 Основные возможности

Для пользователей:

  • ✅ Регистрация через email, Google или Facebook
  • ✅ Поиск поинтов на карте по геолокации
  • ✅ Постановка в очередь (мгновенно или по расписанию)
  • ✅ Отслеживание статуса заказа в реальном времени
  • ✅ QR-код сканирование для быстрого доступа к поинтам
  • ✅ Push-уведомления о изменении статуса

Для владельцев бизнеса:

  • ✅ Создание и управление поинтами обслуживания
  • ✅ Настройка рабочих часов и расписания
  • ✅ Управление кассирами и их привязка к пользователям
  • ✅ Настройка статусов заказов и их последовательности
  • ✅ Планирование слотов для записи на время
  • ✅ Аналитика и отчёты

Для кассиров:

  • ✅ Интерфейс управления очередью
  • ✅ Изменение статусов заказов
  • ✅ Просмотр информации о клиентах
  • ✅ Управление своим рабочим статусом

📱 Дизайн

Приложение использует минималистичный дизайн в стиле iOS с:

  • Современными градиентами и тенями
  • Плавными анимациями
  • Интуитивной навигацией
  • Поддержкой тёмной темы
  • Адаптивным дизайном

🛠️ Технологии

Backend:

  • FastAPI - Современный, быстрый веб-фреймворк для Python
  • SQLAlchemy - ORM для работы с базой данных
  • PostgreSQL - Основная база данных
  • Redis - Кэширование и очереди сообщений
  • Alembic - Миграции базы данных
  • Pydantic - Валидация данных
  • JWT - Аутентификация
  • Docker - Контейнеризация

Mobile App:

  • Flutter - Cross-platform мобильная разработка
  • Provider - State management
  • Google Maps - Интеграция карт
  • Firebase - Push-уведомления
  • QR Code Scanner - Сканирование QR-кодов
  • OAuth - Социальная аутентификация

🚀 Быстрый старт

Требования

  • Docker и Docker Compose
  • Flutter SDK 3.10+
  • Git

Запуск Backend

  1. Клонирование репозитория:
git clone <repository-url>
cd queue-management-system
  1. Настройка переменных окружения:
cp backend/.env.example backend/.env
# Отредактируйте backend/.env с вашими настройками
  1. Запуск с Docker:
docker-compose up -d

Backend будет доступен по адресу: http://localhost:8000

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

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

  1. Установка зависимостей:
cd flutter_app
flutter pub get
  1. Настройка конфигурации:
# Создайте файл lib/config/app_config.dart
cp lib/config/app_config.dart.example lib/config/app_config.dart
# Отредактируйте настройки API endpoint
  1. Запуск на эмуляторе/устройстве:
flutter run

🔧 Разработка

Backend структура

backend/
├── app/
│   ├── api/          # API endpoints
│   ├── core/         # Конфигурация, безопасность, база данных
│   ├── models/       # SQLAlchemy модели
│   ├── schemas/      # Pydantic схемы
│   ├── services/     # Бизнес-логика
│   └── utils/        # Утилиты
├── alembic/          # Миграции базы данных
├── requirements.txt
└── Dockerfile

Flutter структура

flutter_app/
├── lib/
│   ├── models/       # Модели данных
│   ├── services/     # API и бизнес-логика
│   ├── screens/      # Экраны приложения
│   ├── widgets/      # Переиспользуемые виджеты
│   ├── utils/        # Утилиты и помощники
│   └── main.dart
├── assets/           # Изображения, иконки, шрифты
└── pubspec.yaml

Принципы разработки

  • SOLID принципы - Чистая архитектура
  • Repository pattern - Разделение данных и бизнес-логики
  • Provider pattern - State management во Flutter
  • Clean Code - Читаемый и поддерживаемый код

🗄️ База данных

Основные таблицы:

  • users - Пользователи системы
  • points - Точки обслуживания
  • cashiers - Кассиры
  • orders - Заказы/записи в очередь
  • order_statuses - Статусы заказов
  • order_status_history - История изменений статусов

Миграции:

# Создание новой миграции
alembic revision --autogenerate -m "Description"

# Применение миграций
alembic upgrade head

🔐 Безопасность

  • JWT токены для аутентификации
  • Хэширование паролей с bcrypt
  • CORS защита
  • Валидация входящих данных
  • Rate limiting (планируется)
  • HTTPS в продакшене

📋 API Endpoints

Аутентификация

  • POST /api/v1/auth/register - Регистрация
  • POST /api/v1/auth/login - Вход
  • POST /api/v1/auth/login/oauth - OAuth вход
  • GET /api/v1/auth/me - Профиль пользователя

Поинты

  • GET /api/v1/points - Список поинтов
  • POST /api/v1/points - Создание поинта
  • GET /api/v1/points/{id} - Информация о поинте
  • PUT /api/v1/points/{id} - Обновление поинта

Очереди

  • POST /api/v1/orders - Создание заказа
  • GET /api/v1/orders - Список заказов
  • PUT /api/v1/orders/{id}/status - Изменение статуса

🎯 Roadmap

В планах:

  • Web-интерфейс для администраторов
  • Интеграция с платёжными системами
  • Многоязычность
  • Аналитика и отчёты
  • API для интеграции с внешними системами
  • Автоматическое масштабирование
  • Мониторинг и логирование

📝 Лицензия

MIT License - подробности в файле LICENSE

🤝 Вклад в проект

Приветствуются pull requests. Для крупных изменений сначала откройте issue для обсуждения.

📞 Поддержка

Если у вас есть вопросы или проблемы, создайте issue в репозитории.


Создано с ❤️ для упрощения управления очередями

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •