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_/`