Skip to content

Программа для учета посетителей и реализации услуг в детском развлекательном центре

Notifications You must be signed in to change notification settings

MarcusStill/PyMASL

Repository files navigation

PyMASL — Система автоматизации детских развлекательных центров

Производственная desktop-система для автоматизации продаж, учета посетителей и интеграции с торговым оборудованием в детских развлекательных центрах.

Внедрена в эксплуатацию: 01.06.2022 • Статус: ✅ Работает в production

📋 Содержание

📊 Бизнес-результаты

Система успешно прошла опытную эксплуатацию и полностью заменила предыдущие процессы. Динамика продаж демонстрирует надежность и масштабируемость решения:

Год Оборот через систему
2022 1,7 млн. руб. (запуск)
2023 7,6 млн. руб.
2024 8,8 млн. руб.
2025 21,8 млн. руб.

🎯 Ключевые возможности

🎫 Учет и продажи

  • Полная база клиентов с историей посещений
  • Гибкая система формирования заказов
  • Сложные правила скидок (многодетные, инвалиды, этапные 5%)
  • Автоматическая проверка правил посещения центра
  • Привязка посетителей к сопровождающим

💳 Интеграция с оборудованием

  • Работа с онлайн-кассами АТОЛ FPrint-22ПТК (драйвер дККТ10)
  • Поддержка эквайринговых терминалов PAX/Ingenico
  • Проведение наличных и безналичных платежей
  • Автоматическая генерация и печать билетов

📈 Аналитика и отчетность

  • Статистика продаж и посещений в реальном времени
  • Формирование PDF-отчетов (кассир, администратор)
  • Гибкие фильтры и временные диапазоны

🛠 Технологический стек

Бэкенд и данные

  • Язык: Python 3.9+
  • База данных: PostgreSQL
  • ORM: SQLAlchemy 2.0
  • Миграции: Alembic

Интерфейс

  • GUI: PySide6 (Qt 6.0+)
  • Дизайн форм: Qt Designer
  • Стилизация: Qt Style Sheets (QSS)

Деплой и инфраструктура

  • Сборка: PyInstaller (через Auto PY to EXE)
  • Целевая ОС: Windows 10/11
  • Генерация PDF: ReportLab
  • Просмотр PDF: SumatraPDF

Интеграции

  • Фискальные регистраторы: АТОЛ FPrint-22ПТК
  • Платежные терминалы: PAX/Ingenico
  • Принтеры чеков и штрих-кодов

🖼 Интерфейс и скриншоты

Форма аутентификации

Форма входа

Главное окно приложения

Включает вкладки: Посетители, Продажи, Доп.услуги, Статистика, Касса.

Вкладка "Посетители"

Список посетителей

Фильтрация по: ФИО, фамилия, телефон, статусы "инвалид"/"многодетный"

Вкладка "Продажи"

Форма продажи

Особенности:

  • Автоматический расчет стоимости по возрасту (до 5 лет — бесплатно, 5-14 — детский, 14+ — взрослый)
  • Дифференциация цен будни/выходные
  • Скидки: многодетным 50% в будни, бесплатно 2 часа в 1-е воскресенье месяца
  • Инвалиды + сопровождающий — бесплатно всегда

Вкладка "Статистика"

Статистика продаж

Примеры отчетов

Отчет кассира Отчет администратора

⚙️ Установка и запуск

1. Клонирование репозитория

git clone https://github.com/MarcusStill/PyMASL.git
cd PyMASL

2. Создание виртуального окружения

python -m venv venv
# Для Windows:
venv\Scripts\activate
# Для Linux/MacOS:
source venv/bin/activate

3. Установка зависимостей

pip install -r requirements.txt

###4. Настройка базы данных

  1. Установите PostgreSQL
  2. Создайте базу данных и пользователя
  3. Настройте подключение в config/database.ini
  4. Выполните миграции:
alembic upgrade head

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

python main.py

Сборка под Windows (для production)

Конфигурация для Auto PY to EXE сохранена в files/pyinstaller_conf.json. Замена PATH на актуальный путь → сборка → дистрибутив в dist/.

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

PyMASL/
├── 📂 src/ # Исходный код приложения
│ ├── 📂 core/ # 🧠 Бизнес-логика и основные сервисы
│ ├── 📂 database/ # 🗄️ Работа с базой данных
│ │ └── 📂 models/ # Модели SQLAlchemy
│ ├── 📂 gui/ # 🎨 Графический интерфейс
│ │ ├── 📂 logic/ # Логика обработки UI-событий
│ │ ├── 📂 resources/ # Файлы интерфейса Qt
│ │ └── 📂 windows/ # Управление окнами
│ ├── 📂 hardware/ # 🔌 Интеграция с оборудованием
│ ├── 📂 reports/ # 📊 Генерация отчетов
│ └── 📂 utils/ # 🛠️ Вспомогательные утилиты
├── 📂 config/ # ⚙️ Конфигурационные файлы
├── 📂 resources/ # 📎 Ресурсы и статические файлы
├── 📂 build/ # 🏗️ Сборка и деплой
│ ├── 📂 config/ # Конфигурация сборки
│ └── 📂 scripts/ # Вспомогательные скрипты
├── 📂 docs/ # 📚 Документация
├── 📂 tests/ # 🧪 Тестирование
└── 📄 main.py # 🚀 Точка входа в приложение

📄 Лицензия

PyMASL использует смешанные лицензии в зависимости от компонента:

Компонент Лицензия Ссылка
PostgreSQL PostgreSQL License Подробнее
Alembic MIT License Лицензия
SQLAlchemy MIT License Лицензия
PySide6 LGPL v3 Лицензия
Auto PY to EXE MIT License Лицензия
ReportLab BSD License Лицензия
SumatraPDF GPL v3 Лицензия

Основной код проекта: доступен по открытой лицензии.

About

Программа для учета посетителей и реализации услуг в детском развлекательном центре

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages