Современная система управления электронными очередями с мобильным приложением на 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 с:
- Современными градиентами и тенями
- Плавными анимациями
- Интуитивной навигацией
- Поддержкой тёмной темы
- Адаптивным дизайном
- FastAPI - Современный, быстрый веб-фреймворк для Python
- SQLAlchemy - ORM для работы с базой данных
- PostgreSQL - Основная база данных
- Redis - Кэширование и очереди сообщений
- Alembic - Миграции базы данных
- Pydantic - Валидация данных
- JWT - Аутентификация
- Docker - Контейнеризация
- Flutter - Cross-platform мобильная разработка
- Provider - State management
- Google Maps - Интеграция карт
- Firebase - Push-уведомления
- QR Code Scanner - Сканирование QR-кодов
- OAuth - Социальная аутентификация
- Docker и Docker Compose
- Flutter SDK 3.10+
- Git
- Клонирование репозитория:
git clone <repository-url>
cd queue-management-system- Настройка переменных окружения:
cp backend/.env.example backend/.env
# Отредактируйте backend/.env с вашими настройками- Запуск с Docker:
docker-compose up -dBackend будет доступен по адресу: http://localhost:8000
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
- Установка зависимостей:
cd flutter_app
flutter pub get- Настройка конфигурации:
# Создайте файл lib/config/app_config.dart
cp lib/config/app_config.dart.example lib/config/app_config.dart
# Отредактируйте настройки API endpoint- Запуск на эмуляторе/устройстве:
flutter runbackend/
├── app/
│ ├── api/ # API endpoints
│ ├── core/ # Конфигурация, безопасность, база данных
│ ├── models/ # SQLAlchemy модели
│ ├── schemas/ # Pydantic схемы
│ ├── services/ # Бизнес-логика
│ └── utils/ # Утилиты
├── alembic/ # Миграции базы данных
├── requirements.txt
└── Dockerfile
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 в продакшене
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- Изменение статуса
- Web-интерфейс для администраторов
- Интеграция с платёжными системами
- Многоязычность
- Аналитика и отчёты
- API для интеграции с внешними системами
- Автоматическое масштабирование
- Мониторинг и логирование
MIT License - подробности в файле LICENSE
Приветствуются pull requests. Для крупных изменений сначала откройте issue для обсуждения.
Если у вас есть вопросы или проблемы, создайте issue в репозитории.
Создано с ❤️ для упрощения управления очередями