From 35ab220b683873efd531751f1b276fef0c3baf70 Mon Sep 17 00:00:00 2001 From: InviteMe Developer Date: Mon, 31 Aug 2026 17:32:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=87=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=BE=D1=82=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D0=BE=D0=B2=D1=8B=D1=85=20=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D1=8B=D1=85=20=D0=B8=20=D0=BE=D0=B1=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=BE=D0=BA=D1=83?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Удалены все файлы из app/static/uploads/ из истории git - Обновлен .gitignore для сохранения структуры .gitkeep в подпапках uploads - Обновлены docs/CONTEXT.md и docs/DEPLOY.md: убраны начальные пользователи admin/admin, staff/staff, упоминание конкретных путей и компании - Добавлены актуальные пути к папкам мероприятий --- .gitignore | 5 +++-- app/static/uploads/logos/.gitkeep | 0 app/static/uploads/photos/.gitkeep | 0 app/static/uploads/qrcodes/.gitkeep | 0 app/static/uploads/reports/.gitkeep | 0 app/static/uploads/temp/.gitkeep | 0 app/static/uploads/tickets/.gitkeep | 0 docs/CONTEXT.md | 11 +++-------- docs/DEPLOY.md | 15 ++++++--------- 9 files changed, 12 insertions(+), 19 deletions(-) create mode 100644 app/static/uploads/logos/.gitkeep create mode 100644 app/static/uploads/photos/.gitkeep create mode 100644 app/static/uploads/qrcodes/.gitkeep create mode 100644 app/static/uploads/reports/.gitkeep create mode 100644 app/static/uploads/temp/.gitkeep create mode 100644 app/static/uploads/tickets/.gitkeep diff --git a/.gitignore b/.gitignore index 4063341..104ec69 100644 --- a/.gitignore +++ b/.gitignore @@ -12,8 +12,9 @@ instance/ *.db *.sqlite3 -app/static/uploads/* -!app/static/uploads/.gitkeep +app/static/uploads/** +!app/static/uploads/**/ +!app/static/uploads/**/.gitkeep *.log .DS_Store diff --git a/app/static/uploads/logos/.gitkeep b/app/static/uploads/logos/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/static/uploads/photos/.gitkeep b/app/static/uploads/photos/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/static/uploads/qrcodes/.gitkeep b/app/static/uploads/qrcodes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/static/uploads/reports/.gitkeep b/app/static/uploads/reports/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/static/uploads/temp/.gitkeep b/app/static/uploads/temp/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/app/static/uploads/tickets/.gitkeep b/app/static/uploads/tickets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docs/CONTEXT.md b/docs/CONTEXT.md index ee91972..eba4e7e 100644 --- a/docs/CONTEXT.md +++ b/docs/CONTEXT.md @@ -2,7 +2,7 @@ ## Назначение -InviteMe — внутреннее веб-приложение для компании **Integrita**, предназначенное для организации регистрации гостей на корпоративные мероприятия. Является упрощённым аналогом Timepad: загрузка списка участников, генерация персональных QR-кодов, рассылка приглашений, контроль входа на мероприятии и административная аналитика. +InviteMe — веб-приложение для организации регистрации гостей на корпоративные мероприятия. Является упрощённым аналогом Timepad: загрузка списка участников, генерация персональных QR-кодов, рассылка приглашений, контроль входа на мероприятии и административная аналитика. ## Бизнес-процесс @@ -18,7 +18,7 @@ InviteMe — внутреннее веб-приложение для компа - `название фото` 4. Собирает фотографии гостей. Название каждого файла должно совпадать со значением в столбце `название фото`. 5. В админ-панели выбирает созданное мероприятие и загружает Excel. Система создаёт записи гостей в рамках этого мероприятия и генерирует для каждого уникальный QR-код. -6. Загружает фото (по одному или ZIP-архивом) в папку `app/static/uploads/photos/`. +6. Загружает фото (по одному или ZIP-архивом) — они сохраняются в папке мероприятия `app/static/uploads/photos/event_/`. 7. При необходимости вручную добавляет, редактирует или блокирует гостей. 8. Запускает массовую рассылку приглашений. Каждый гость получает письмо с QR-кодом. @@ -51,12 +51,7 @@ InviteMe — внутреннее веб-приложение для компа | Организатор | Создание и управление своими мероприятиями, гостями, рассылка, аналитика, отчёты | | Сотрудник на входе | Страница `/check-in`: выбор мероприятия, сканирование QR, поиск, отметка входа | -Пользователи создаются и управляются через веб-интерфейс администратора. При первом запуске создаются учётные записи по умолчанию: - -- `admin` / `admin` -- `staff` / `staff` - -> В production пароли обязательно меняются через переменные окружения или файл `.env`. +Пользователи создаются и управляются через веб-интерфейс администратора. При первом запуске открывается страница создания первого администратора. ## Архитектура diff --git a/docs/DEPLOY.md b/docs/DEPLOY.md index c910b6d..1e5cdc7 100644 --- a/docs/DEPLOY.md +++ b/docs/DEPLOY.md @@ -11,7 +11,7 @@ ### 1. Подготовка окружения ```cmd -cd C:\Projects\Integrita\InviteMe +cd InviteMe python -m venv venv venv\Scripts\activate pip install -r requirements.txt @@ -23,10 +23,6 @@ pip install -r requirements.txt ```env SECRET_KEY=your-strong-secret-key-here -ADMIN_USERNAME=admin -ADMIN_PASSWORD=your-admin-password -STAFF_USERNAME=staff -STAFF_PASSWORD=your-staff-password DEFAULT_EVENT_NAME=Архивное мероприятие MAIL_SERVER=smtp.yandex.ru @@ -38,7 +34,7 @@ MAIL_DEFAULT_SENDER=your-email@yandex.ru ``` > Для Yandex Mail используйте пароль приложения, а не основной пароль. -> `ADMIN_USERNAME`/`ADMIN_PASSWORD` и `STAFF_USERNAME`/`STAFF_PASSWORD` используются только для создания начальных пользователей при первом запуске. Дальнейшее управление пользователями выполняется через веб-интерфейс администратора. +> При первом запуске откроется страница создания первого администратора. ### 3. Запуск в режиме разработки @@ -77,8 +73,9 @@ BASE_URL=https://your-domain-or-ip Важные данные для бэкапа: - `instance/inviteme.db` — база данных -- `app/static/uploads/photos/` — фото гостей -- `app/static/uploads/qrcodes/` — QR-коды +- `app/static/uploads/photos/event_*` — фото гостей +- `app/static/uploads/qrcodes/event_*` — QR-коды +- `app/static/uploads/tickets/event_*` — сгенерированные билеты - `.env` — конфигурация ## Инструкция для сотрудников на входе @@ -107,4 +104,4 @@ BASE_URL=https://your-domain-or-ip ### Фото не отображаются - Проверьте, что название фото в Excel совпадает с именем файла (с расширением) -- Фото должны быть в папке `app/static/uploads/photos/` +- Фото должны быть в папке мероприятия `app/static/uploads/photos/event_/`