Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Продуктовая постановка Цифрового проката

Aperta
#160 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
15/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Ambito
full-stack

Direzione di ricerca

No files, tests, or implementation entry points are named. Start by reviewing the proposed MVP requirements and validating the OAuth and membership-API dependencies, then clarify the scope into actionable implementation tasks. Done should mean an agreed, bounded plan for the rental workflow, administration, reservations, returns, and analytics.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

epic :100:

Бизнес-цели и ценность для пользователей

Цели:

  • Упростить процесс аренды инвентаря в Профкоме Физфака МГУ.
  • Автоматизировать учёт выдачи, возврата и отказов.
  • Повысить прозрачность взаимодействия между студентами и профкомом, а также упростить управление инвентарём.

Ценность для пользователей:

  • Для студентов: Быстрая аренда через удобный интерфейс, минимизация времени на оформление, возможность видеть доступный инвентарь в реальном времени.
  • Для профкома: Снижение ручной работы, удобный учёт операций, возможность анализа данных для оптимизации работы.

Функциональные требования

Пользовательский интерфейс
  1. Авторизация:
    • Только члены профсоюза по сверке с базой ОПК МГУ
    • Через OAuth ЛК МГУ на базе auth-api
    • Разлогинивание раз в год из oauth ЛК МГУ для подтверждения статуса студента.
  2. Просмотр доступных предметов:
    • Список предметов с названием, фото, количеством в наличии и описанием.
    • Указание времени возврата (например, до 16:00).
  3. Бронирование:
    • Возможность бронировать несколько предметов одновременно.
    • Предметы одного типа бронируются только по одному экземпляру.
    • Заявка резервирует предметы на 5 минут; если пользователь не завершает процесс взятия, бронь автоматически снимается. При снятии брони по истечение 5 минут должен быть настраиваемый период, когда нельзя будет сделать новую бронь — 5 или 10 минут. Либо просто уменьшать максимальное время брони с 5 минут до 3, потом до 1 минуты, чтобы человек не мог блокировать доступность устройтсв
  4. Возврат предметов:
    • Кнопка "Вернуть предмет" в интерфейсе пользователя.
    • Каждый взятый предмет — это отдельная сессия.
    • После подтверждения запроса администратором сессия закрывается.
  5. Дисклеймеры:
    • Предмет может быть в наличии, но иметь дефекты (например, разряженный повербанк).
  6. Обновление данных о доступности:
    • Данные о наличии предметов подтягиваются в реальном времени при каждом заходе пользователя на страницу проката.
    • Если пользователь пытается взять предмет, который уже забрали, система выдаёт сообщение об ошибке — "К сожалению предмет уже забрали".
Административный интерфейс
  1. Авторизация администраторов:
    • Разграничение ролей:
      • Базовые администраторы (все члены структуры Профкома): выдача/приём предметов.
      • Высокоуровневые администраторы: управление инвентарём (добавление предметов, редактирование их количества), настройка лимитов.
  2. Управление заявками:
    • Все предметы из одной заявки отображаются как отдельные сессии аренды.
    • Администратор может отдельно подтверждать или завершать аренду каждого предмета.
  3. Журнал операций:
    • История всех действий (выдача, возврат, отказы).
    • Фиксация отказов с возможностью оставлять "страйки" пользователям и видеть кол-во страйков на профиле пользователя в момент Бронирования
  4. Управление инвентарём:
    • Добавление новых позиций (название, фото, описание).
    • Редактирование количества доступных предметов (учёт поломок или утерь).
  5. Фильтры и сортировка:
    • Сортировка по фамилии студента (по умолчанию), по дате взятия, возврата.
    • Фильтрация по типу предмета или статусу заявки (ожидает подтверждения, в процессе, сдан, отказано).
Аналитика
  1. Сбор данных:
    • вся инфа о каждой сессии с таймкодами, предметами
    • user_id студента.
    • Время взятия/возврата предмета.
    • Количество просрочек сдачи.
    • Популярные предметы (ранжировка по частоте использования).
    • Таймстемпы времени брони и времени взятия, чтобы контролить использование броней и их абьюз
  2. Дашборд для высокоуровневых администраторов:
    • Среднее время аренды.
    • Ошибки сервиса (например, сбои в работе системы).
    • Пиковые часы использования.
    • можно дополнять...

Технические ограничения

  1. Авторизация возможна только через OAuth ЛК МГУ.
  2. Уведомления внутри приложения невозможны; коммуникация в будущем через Telegram (пингование).
  3. Админский интерфейс должен быть адаптирован для десктопа на комп в профкоме.
  4. Для MVP все предметы идентичны (без сложных характеристик вроде заряда батареи).

Риски и зависимости

  1. Злоупотребление системой бронирования пользователями (например, создание множества броней без намерения взять предмет).
  2. Невозврат предмета проката (особенно в формате работы без студака)
  3. Доступ к API ЛК МГУ для авторизации студентов и к API ОПК МГУ для подтверждения членства в профсоюзе.
  4. Наличие стабильного a
    Wi-Fi на ФФ и в кабинете Профкома.
Lingua principale
Nessun dato sulla lingua
Stelle
9
Fork
1
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di profcomff/.github

Tutte le issue di profcomff/.github

Issue simili

Altre issue su Web Dev

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.