Auto-commit before push to git.mycloud24.ru
This commit is contained in:
+29
-17
@@ -8,17 +8,19 @@ InviteMe — внутреннее веб-приложение для компа
|
||||
|
||||
### 1. Подготовка до мероприятия
|
||||
|
||||
1. Организатор формирует Excel-файл со столбцами:
|
||||
1. Администратор создаёт учётные записи организаторов и сотрудников на входе.
|
||||
2. Организатор создаёт новое мероприятие в админ-панели.
|
||||
3. Организатор формирует Excel-файл со столбцами:
|
||||
- `Отдел`
|
||||
- `ФИО`
|
||||
- `Должность`
|
||||
- `e-mail`
|
||||
- `название фото`
|
||||
2. Собирает фотографии гостей. Название каждого файла должно совпадать со значением в столбце `название фото`.
|
||||
3. В админ-панели загружает Excel. Система автоматически создаёт записи гостей и генерирует для каждого уникальный QR-код.
|
||||
4. Загружает фото (по одному или ZIP-архивом) в папку `app/static/uploads/photos/`.
|
||||
5. При необходимости вручную добавляет, редактирует или блокирует гостей.
|
||||
6. Запускает массовую рассылку приглашений. Каждый гость получает письмо с QR-кодом.
|
||||
4. Собирает фотографии гостей. Название каждого файла должно совпадать со значением в столбце `название фото`.
|
||||
5. В админ-панели выбирает созданное мероприятие и загружает Excel. Система создаёт записи гостей в рамках этого мероприятия и генерирует для каждого уникальный QR-код.
|
||||
6. Загружает фото (по одному или ZIP-архивом) в папку `app/static/uploads/photos/`.
|
||||
7. При необходимости вручную добавляет, редактирует или блокирует гостей.
|
||||
8. Запускает массовую рассылку приглашений. Каждый гость получает письмо с QR-кодом.
|
||||
|
||||
### 2. Вход на мероприятие
|
||||
|
||||
@@ -43,10 +45,16 @@ InviteMe — внутреннее веб-приложение для компа
|
||||
|
||||
## Роли пользователей
|
||||
|
||||
| Роль | Логин по умолчанию | Возможности |
|
||||
|---|---|---|
|
||||
| Администратор | `admin` / `admin` | Полный доступ: загрузка данных, управление гостями, рассылка, аналитика, отчёты |
|
||||
| Сотрудник на входе | `staff` / `staff` | Только страница `/check-in`: сканирование QR, поиск, отметка входа |
|
||||
| Роль | Возможности |
|
||||
|---|---|
|
||||
| Администратор | Полный доступ: управление пользователями, всеми мероприятиями, гостями, рассылка, аналитика, отчёты |
|
||||
| Организатор | Создание и управление своими мероприятиями, гостями, рассылка, аналитика, отчёты |
|
||||
| Сотрудник на входе | Страница `/check-in`: выбор мероприятия, сканирование QR, поиск, отметка входа |
|
||||
|
||||
Пользователи создаются и управляются через веб-интерфейс администратора. При первом запуске создаются учётные записи по умолчанию:
|
||||
|
||||
- `admin` / `admin`
|
||||
- `staff` / `staff`
|
||||
|
||||
> В production пароли обязательно меняются через переменные окружения или файл `.env`.
|
||||
|
||||
@@ -56,9 +64,9 @@ InviteMe — внутреннее веб-приложение для компа
|
||||
┌─────────────┐ ┌─────────────┐ ┌─────────────────┐
|
||||
│ Браузер │──────│ Flask │──────│ SQLite │
|
||||
│ (Admin/ │ │ (Python) │ │ (inviteme.db) │
|
||||
│ Staff) │ │ │ └─────────────────┘
|
||||
└─────────────┘ └──────┬──────┘
|
||||
│
|
||||
│ Organizer/ │ │ │ └─────────────────┘
|
||||
│ Staff) │ └──────┬──────┘
|
||||
└─────────────┘ │
|
||||
┌────────────────┼────────────────┐
|
||||
│ │ │
|
||||
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
|
||||
@@ -68,7 +76,7 @@ InviteMe — внутреннее веб-приложение для компа
|
||||
```
|
||||
|
||||
- **Flask** обрабатывает HTTP-запросы и рендерит HTML-шаблоны.
|
||||
- **SQLite** хранит данные гостей и историю входов.
|
||||
- **SQLite** хранит пользователей, мероприятия, гостей и историю входов.
|
||||
- **Локальная файловая система** хранит фото и QR-коды.
|
||||
- **SMTP** используется для отправки приглашений.
|
||||
|
||||
@@ -77,11 +85,13 @@ InviteMe — внутреннее веб-приложение для компа
|
||||
### Импорт гостей
|
||||
|
||||
```text
|
||||
Создание мероприятия в админ-панели
|
||||
↓
|
||||
Excel-файл
|
||||
↓
|
||||
excel_service.read_guests_from_excel()
|
||||
↓
|
||||
Создание/обновление записей Guest в SQLite
|
||||
Создание/обновление записей Guest в SQLite (с привязкой к мероприятию)
|
||||
↓
|
||||
qr_service.generate_qr_for_guest() для каждого нового гостя
|
||||
↓
|
||||
@@ -151,13 +161,14 @@ app/static/uploads/
|
||||
|
||||
## Чеклист перед мероприятием
|
||||
|
||||
- [ ] Созданы учётные записи организаторов и сотрудников на входе.
|
||||
- [ ] Создано мероприятие в админ-панели.
|
||||
- [ ] Подготовлен Excel со списком гостей.
|
||||
- [ ] Собраны и загружены фото всех гостей.
|
||||
- [ ] Загружен Excel в админ-панель.
|
||||
- [ ] Загружен Excel в админ-панель в рамках нужного мероприятия.
|
||||
- [ ] Проверено, что QR-коды сгенерированы.
|
||||
- [ ] Настроен SMTP и отправлено тестовое письмо.
|
||||
- [ ] Разосланы приглашения.
|
||||
- [ ] Созданы учётные записи для сотрудников на входе (или используется общая `staff`).
|
||||
- [ ] Протестирована страница `/check-in` на телефоне/планшете.
|
||||
- [ ] Проверена работа камеры и сканирования QR.
|
||||
- [ ] Проверен поиск по ФИО.
|
||||
@@ -185,3 +196,4 @@ app/static/uploads/
|
||||
## История изменений
|
||||
|
||||
- **2026-08-28** — Первая рабочая версия (MVP). Реализованы импорт Excel, QR-коды, рассылка, check-in, аналитика.
|
||||
- **2026-08-28** — Добавлены пользователи, роли и поддержка нескольких мероприятий.
|
||||
|
||||
Reference in New Issue
Block a user