Title: Продуктовая постановка Цифрового проката · Issue #160 · profcomff/.github · GitHub
Open Graph Title: Продуктовая постановка Цифрового проката · Issue #160 · profcomff/.github
X Title: Продуктовая постановка Цифрового проката · Issue #160 · profcomff/.github
Description: Бизнес-цели и ценность для пользователей Цели: Упростить процесс аренды инвентаря в Профкоме Физфака МГУ. Автоматизировать учёт выдачи, возврата и отказов. Повысить прозрачность взаимодействия между студентами и профкомом, а также упрост...
Open Graph Description: Бизнес-цели и ценность для пользователей Цели: Упростить процесс аренды инвентаря в Профкоме Физфака МГУ. Автоматизировать учёт выдачи, возврата и отказов. Повысить прозрачность взаимодействия межд...
X Description: Бизнес-цели и ценность для пользователей Цели: Упростить процесс аренды инвентаря в Профкоме Физфака МГУ. Автоматизировать учёт выдачи, возврата и отказов. Повысить прозрачность взаимодействия межд...
Opengraph URL: https://github.com/profcomff/.github/issues/160
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Продуктовая постановка Цифрового проката","articleBody":"## Бизнес-цели и ценность для пользователей\n\n**Цели:**\n- Упростить процесс аренды инвентаря в Профкоме Физфака МГУ.\n- Автоматизировать учёт выдачи, возврата и отказов.\n- Повысить прозрачность взаимодействия между студентами и профкомом, а также упростить управление инвентарём.\n\n**Ценность для пользователей:**\n- **Для студентов:** Быстрая аренда через удобный интерфейс, минимизация времени на оформление, возможность видеть доступный инвентарь в реальном времени.\n- **Для профкома:** Снижение ручной работы, удобный учёт операций, возможность анализа данных для оптимизации работы.\n\n---\n## Функциональные требования\n\n### Пользовательский интерфейс\n1. **Авторизация:**\n - Только члены профсоюза по сверке с базой ОПК МГУ\n - Через OAuth ЛК МГУ на базе auth-api\n - Разлогинивание раз в год из oauth ЛК МГУ для подтверждения статуса студента.\n2. **Просмотр доступных предметов:**\n - Список предметов с названием, фото, количеством в наличии и описанием.\n - Указание времени возврата (например, до 16:00).\n3. **Бронирование:**\n - Возможность бронировать несколько предметов одновременно.\n - Предметы одного типа бронируются только по одному экземпляру.\n - Заявка резервирует предметы на 5 минут; если пользователь не завершает процесс взятия, бронь автоматически снимается. При снятии брони по истечение 5 минут должен быть настраиваемый период, когда нельзя будет сделать новую бронь — 5 или 10 минут. Либо просто уменьшать максимальное время брони с 5 минут до 3, потом до 1 минуты, чтобы человек не мог блокировать доступность устройтсв\n4. **Возврат предметов:**\n - Кнопка \"Вернуть предмет\" в интерфейсе пользователя.\n - Каждый взятый предмет — это отдельная сессия.\n - После подтверждения запроса администратором сессия закрывается.\n5. **Дисклеймеры:**\n - Предмет может быть в наличии, но иметь дефекты (например, разряженный повербанк).\n6. **Обновление данных о доступности:**\n - Данные о наличии предметов подтягиваются в реальном времени при каждом заходе пользователя на страницу проката.\n - Если пользователь пытается взять предмет, который уже забрали, система выдаёт сообщение об ошибке — \"К сожалению предмет уже забрали\".\n\n### Административный интерфейс\n1. **Авторизация администраторов:**\n - Разграничение ролей:\n - Базовые администраторы (все члены структуры Профкома): выдача/приём предметов.\n - Высокоуровневые администраторы: управление инвентарём (добавление предметов, редактирование их количества), настройка лимитов.\n2. **Управление заявками:**\n - Все предметы из одной заявки отображаются как отдельные сессии аренды.\n - Администратор может отдельно подтверждать или завершать аренду каждого предмета.\n3. **Журнал операций:**\n - История всех действий (выдача, возврат, отказы).\n - Фиксация отказов с возможностью оставлять \"страйки\" пользователям и видеть кол-во страйков на профиле пользователя в момент Бронирования\n4. **Управление инвентарём:**\n - Добавление новых позиций (название, фото, описание).\n - Редактирование количества доступных предметов (учёт поломок или утерь).\n5. **Фильтры и сортировка:**\n - Сортировка по фамилии студента (по умолчанию), по дате взятия, возврата.\n - Фильтрация по типу предмета или статусу заявки (ожидает подтверждения, в процессе, сдан, отказано).\n\n### Аналитика\n1. Сбор данных:\n - вся инфа о каждой сессии с таймкодами, предметами\n - user_id студента.\n - Время взятия/возврата предмета.\n - Количество просрочек сдачи.\n - Популярные предметы (ранжировка по частоте использования).\n - Таймстемпы времени брони и времени взятия, чтобы контролить использование броней и их абьюз\n2. Дашборд для высокоуровневых администраторов:\n - Среднее время аренды.\n - Ошибки сервиса (например, сбои в работе системы).\n - Пиковые часы использования.\n - *можно дополнять...*\n\n---\n\n## Технические ограничения\n\n1. Авторизация возможна только через OAuth ЛК МГУ.\n2. Уведомления внутри приложения невозможны; коммуникация в будущем через Telegram (пингование).\n3. Админский интерфейс должен быть адаптирован для десктопа на комп в профкоме.\n4. Для MVP все предметы идентичны (без сложных характеристик вроде заряда батареи).\n\n---\n## Риски и зависимости\n\n1. Злоупотребление системой бронирования пользователями (например, создание множества броней без намерения взять предмет).\n2. Невозврат предмета проката (особенно в формате работы без студака)\n3. Доступ к API ЛК МГУ для авторизации студентов и к API ОПК МГУ для подтверждения членства в профсоюзе.\n4. Наличие стабильного a\nWi-Fi на ФФ и в кабинете Профкома.\n","author":{"url":"https://github.com/MarkShidran","@type":"Person","name":"MarkShidran"},"datePublished":"2025-02-22T14:17:00.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/160/.github/issues/160"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:3c6b68d8-bdc3-dfa8-4d93-de9fae1e927f |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E2B6:36CBC:B423D4:F1C5F0:698E3EF4 |
| html-safe-nonce | 6a5932b25eb1f7802dcdf994d20a595c35e37e3f239387ae0bc23ed9eea7d898 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMkI2OjM2Q0JDOkI0MjNENDpGMUM1RjA6Njk4RTNFRjQiLCJ2aXNpdG9yX2lkIjoiMjQzNTc0MjI4NTU2NTk0OTMyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 9d181ca402c940967f907243ce4778059a83e953cfd4a2d4776691062605dffe |
| hovercard-subject-tag | issue:2870767366 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/profcomff/.github/160/issue_layout |
| twitter:image | https://opengraph.githubassets.com/5e99df667877b6227fa2e7da6f119b5fc5f9e766a644470171d93766c6c37053/profcomff/.github/issues/160 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/5e99df667877b6227fa2e7da6f119b5fc5f9e766a644470171d93766c6c37053/profcomff/.github/issues/160 |
| og:image:alt | Бизнес-цели и ценность для пользователей Цели: Упростить процесс аренды инвентаря в Профкоме Физфака МГУ. Автоматизировать учёт выдачи, возврата и отказов. Повысить прозрачность взаимодействия межд... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | MarkShidran |
| hostname | github.com |
| expected-hostname | github.com |
| None | a5632af64f7fed7bff1d6a428d1aca1b94fa7a48f760de2d39d9b1effdbf0082 |
| turbo-cache-control | no-preview |
| go-import | github.com/profcomff/.github git https://github.com/profcomff/.github.git |
| octolytics-dimension-user_id | 94626404 |
| octolytics-dimension-user_login | profcomff |
| octolytics-dimension-repository_id | 433070649 |
| octolytics-dimension-repository_nwo | profcomff/.github |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 433070649 |
| octolytics-dimension-repository_network_root_nwo | profcomff/.github |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | aa1fa9100f85cd8b602c63c7e337f9151e70024f |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width