Files
InviteMe/README.md
T
InviteMe Developer 6e7b8dfd3a Подготовка проекта к публикации: Docker, чистая установка, разделение папок
- Убраны приватные URL и данные из README и docker-compose.yml
- Добавлен .env.example с примером переменных окружения
- Улучшен Dockerfile: добавлен libcairo2-dev для rlPyCairo
- Убраны fallbacks на общие папки: фото, QR, билеты, логотипы строго внутри event_{id}
- Папка скрин/ и *.txt исключены из git
- Пасхалка о создателе mycloud24.ru сохранена
2026-08-31 17:18:43 +03:00

105 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# InviteMe
Система регистрации гостей, рассылки приглашений и контроля входа на мероприятия.
## Возможности
- Создание мероприятий и управление ими.
- Импорт гостей из Excel.
- Генерация QR-кодов и персональных пригласительных билетов.
- Конструктор билетов с логотипом, цветами и предпросмотром.
- Рассылка приглашений по SMTP, EWS (Exchange) или через локальный Outlook.
- Проверка приглашений на входе (сканирование QR / поиск по списку).
- Ролевая модель: администратор, организатор, стафф.
- Аудит действий пользователей.
- Поддержка Docker.
## Быстрый старт
### Вариант 1: Docker (рекомендуется)
Требования: установленный Docker и Docker Compose.
```bash
git clone <URL-репозитория>
cd inviteme
# Собрать и запустить
docker compose up -d --build
# Приложение будет доступно по адресу http://localhost:8888
```
При первом запуске откройте `http://localhost:8888` — вас встретит страница создания первого администратора.
### Вариант 2: Запуск вручную
Требования: Python 3.12.
```bash
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`.
## Первый запуск
1. Откройте приложение в браузере.
2. На странице приветствия создайте первого администратора.
3. Войдите под созданной учётной записью.
4. Создайте мероприятие и настройте почту в разделе «Рассылка → Настройки почты».
## Настройка почты
В разделе **Рассылка → Настройки почты** можно выбрать один из способов отправки:
- **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
```
## Лицензия
Проект распространяется как есть для внутреннего использования.