6e7b8dfd3a
- Убраны приватные URL и данные из README и docker-compose.yml
- Добавлен .env.example с примером переменных окружения
- Улучшен Dockerfile: добавлен libcairo2-dev для rlPyCairo
- Убраны fallbacks на общие папки: фото, QR, билеты, логотипы строго внутри event_{id}
- Папка скрин/ и *.txt исключены из git
- Пасхалка о создателе mycloud24.ru сохранена
4.6 KiB
4.6 KiB
InviteMe
Система регистрации гостей, рассылки приглашений и контроля входа на мероприятия.
Возможности
- Создание мероприятий и управление ими.
- Импорт гостей из Excel.
- Генерация QR-кодов и персональных пригласительных билетов.
- Конструктор билетов с логотипом, цветами и предпросмотром.
- Рассылка приглашений по SMTP, EWS (Exchange) или через локальный Outlook.
- Проверка приглашений на входе (сканирование QR / поиск по списку).
- Ролевая модель: администратор, организатор, стафф.
- Аудит действий пользователей.
- Поддержка Docker.
Быстрый старт
Вариант 1: Docker (рекомендуется)
Требования: установленный Docker и Docker Compose.
git clone <URL-репозитория>
cd inviteme
# Собрать и запустить
docker compose up -d --build
# Приложение будет доступно по адресу http://localhost:8888
При первом запуске откройте http://localhost:8888 — вас встретит страница создания первого администратора.
Вариант 2: Запуск вручную
Требования: Python 3.12.
git clone <URL-репозитория>
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
Лицензия
Проект распространяется как есть для внутреннего использования.