5ab181c1057594ddce9dfa507dab2fdfe4750f04
InviteMe
Система регистрации гостей, рассылки приглашений и контроля входа на мероприятия.
Возможности
- Создание мероприятий и управление ими.
- Импорт гостей из Excel.
- Генерация QR-кодов и персональных пригласительных билетов.
- Конструктор билетов с логотипом, цветами и предпросмотром.
- Рассылка приглашений по SMTP, EWS (Exchange) или через локальный Outlook.
- Проверка приглашений на входе (сканирование QR / поиск по списку).
- Ролевая модель: администратор, организатор, стафф.
- Аудит действий пользователей.
- Поддержка Docker.
Быстрый старт
Вариант 1: Docker (рекомендуется)
Требования: установленный Docker и Docker Compose.
git clone https://git.mycloud24.ru/insight/InviteMe.git
cd InviteMe
# Собрать и запустить
docker compose up -d --build
# Приложение будет доступно по адресу http://localhost:8888
При первом запуске откройте http://localhost:8888 — вас встретит страница создания первого администратора.
Вариант 2: Запуск вручную
Требования: Python 3.12.
git clone https://git.mycloud24.ru/insight/InviteMe.git
cd InviteMe
python -m venv venv
# Windows:
venv\Scripts\pip install -r requirements.txt
# Linux/macOS:
# venv/bin/pip install -r requirements.txt
# Запуск
venv\Scripts\python run_waitress.py
Приложение запустится на http://localhost:8888.
Первый запуск
- Откройте приложение в браузере.
- На странице приветствия создайте первого администратора.
- Войдите под созданной учётной записью.
- Создайте мероприятие и настройте почту в разделе «Рассылка → Настройки почты».
Настройка почты
В разделе Рассылка → Настройки почты можно выбрать один из способов отправки:
- SMTP — указать сервер, порт, логин и пароль.
- EWS — для Microsoft Exchange, указать URL вида
https://mail.company.com/EWS/Exchange.asmx. - Локальный Outlook — работает только если приложение запущено на Windows-компьютере с установленным Outlook.
Безопасность
- Сразу после первого запуска задайте сильный
SECRET_KEYчерез переменную окружения. - Не храните реальные пароли в репозитории — используйте
.envфайл или переменные окружения. - Папка
instance/(SQLite) иapp/static/uploads/не попадают в git. - Пример переменных окружения — в файле
.env.example.
Переменные окружения
| Переменная | Описание | По умолчанию |
|---|---|---|
SECRET_KEY |
Секретный ключ для сессий | dev-secret-key-change-in-production |
BASE_URL |
Базовый URL приложения | — |
TIMEZONE |
Часовой пояс | Europe/Moscow |
DATABASE_URL |
URI базы данных (SQLite по умолчанию) | sqlite:///instance/inviteme.db |
Структура проекта
InviteMe/
├── app/ # Flask-приложение
│ ├── services/ # QR, билеты, почта, Excel
│ ├── templates/ # HTML-шаблоны
│ ├── static/ # CSS, JS, изображения
│ └── utils/ # Вспомогательные утилиты
├── instance/ # SQLite-база (не в git)
├── app/static/uploads/ # Загруженные файлы (не в git)
├── Dockerfile
├── docker-compose.yml
└── requirements.txt
Лицензия
Проект распространяется как есть для внутреннего использования.
Description
Languages
Python
64.3%
HTML
29.6%
JavaScript
5.6%
Dockerfile
0.3%
Mako
0.2%