-
Notifications
You must be signed in to change notification settings - Fork 0
Процессы
- Регистрация пользователя в системе
- Добавление детей родителями
- Добавление родителей детьми
- Отправление заявки на участие в смене ЛКШ
- Просмотр заявок на участие в смене ЛКШ
- Изменение статуса заявки для участия в ЛКШ
- Просмотр заявки для участия в ЛКШ
- Подтверждение оплаты путевки в ЛКШ родителем или учеником(?)
- Альтернативный вариант тестирования для зачисления (?)
- Пользователь заходит на сайт
- Нажимает кнопку "Регистрация"
- Заполняет поля "ФИО", "Пол", "Дата рождения", "Телефон", "Email"
- Нажимает кнопку "Отправить", в результате создается пользователь с минимальными правами, т.е. ему не назначена никакая группа
- Появляется окошко с выбором своего статуса: "Ученик"/"Родитель"/"Преподаватель", в зависимости от выбора:
- "Ученик" - заполняет дополнительную информацию о школе, классе, отряде (в случае ЛКШ), указывает годы учебы в КШ, смены в ЛКШ (предоставляем списки годов и смен), нажимает кнопку для завершения регистрации
- "Родитель" - каким-либо образом подтверждает что он родитель (ребенок прислал код регистрации; ссылка на почту, где можно будет пообщаться с родителями; возможно скан паспорта?), нажимает кнопку для завершения регистрации
- "Преподаватель" каким-либо образом подтверждает что он преподаватель, указывает годы работы в КШ и ЛКШ (предоставляем списки годов и смен), нажимает кнопку для завершения регистрации
- Администратор подтверждает права "Преподавателей"
В случае выбора статуса "Родитель"/"Преподаватель" администратор рассматривает заявку и в случае успешной идентификации присваивает соответствующую группу пользователю.
Пользователи с администраторскими правами создается на этапе миграций (т.е. создания таблиц БД и занесения информации о пользователе с группой "Администратор"). Пользователей - представителей комитета - можно добавлять либо на этапе миграции, либо вручную администратор изменяет группу.
Вопрос: Может быть у пользователя в системе несколько ролей? Т.е. технически, человек может быть и администратором/преподавателем и одновременно родителем ученика, кто учится в КШ/ЛКШ. Что делать в этом случае?
- Родитель авторизуется в системе, заходит в профиль
- Заходит в вкладку "Дети", нажимает кнопку "Добавить ребенка"
- Делает поиск детей и высылает запрос на добавление ребенку (поиск можно сделать по ФИО, например, с живым поиском)
- Ребенок подтверждает заявку - в результате у ученика в вкладке "Родители" добавляется информация о родителе, у родителя - информация о ребенке и доступ к его успеваемости.
Вопрос: Должен ли администратор одобрять такие заявки?
- Ученик авторизуется в системе, заходит в профиль
- Заходит в вкладку "Родители", нажимает кнопку "Добавить родителя"
- Делает поиск родителя и высылает ему запрос на добавление
- Родитель подтверждает заявку - в результате у ученика в вкладке "Родители" добавляется информация о родителе; у родителя в вкладке "Дети" - информация о ребенке и доступ к его успеваемости.
- Ученик авторизуется в системе, заходит в профиль
- Заходит в вкладку "Заявки", выбирает заявку "ЛКШ - 201х год" (или что-то в таком духе)
- Указывает предполагаемую учебную группу, адрес прописки (если не указан ранее в профиле самостоятельно). Предыдущие года обучения КШ/ЛКШ экспортируются автоматически из профиля. Родитель, телефон, место работы:
- Заполняется вручную (в том случае, если родители не хотят/не могут зарегистрироваться на сайте),
- Выбирается учеником из списка родителей, зарегистрированных на сайте.
- Нажимает кнопку "Отправить", заявка сохраняется в БД
- Происходит тестирование на вхождение в группу, которая указана в заявке, в случае, если это возможно (например, у младшей группы такого тестирования может и не быть). Если ученик провалил тестирование, то будет предложено:
- Снизить уровень сложности (с новым тестированием, информацию о заявке все равно сохраняем)
- Пройти новый тест этой же группы (информацию вбивать заново не нужно; действие возможно, если подготовлены несколько вариантов тестирования или существует рандомная генерация тестов; возможно, в таком случае необходимо давать возможность пройти тестирование через 1-3 дня)
- Отзывает свою заявку полностью (информация о заявке уничтожается)
- При успешном тестировании заявка отмечается как "Ожидающая оплаты", администратор, представитель комитета (преподаватели?) могут видеть список таких заявок
- При подтверждении оплаты администратор изменяет статус заявки, как "Принятая" (например, родитель или ребенок отправил номер путевки), или представитель комитета может одобрить заявку по факту приема денег на путевку
- Администратор/Представитель комитета открывает вкладку "Заявки"
- Выбирает из актуальных списков заявок необходимый ( в данном случае список заявок на участие в ЛКШ 20xx)
- Происходит отображение списка заявок в виде: id заявки, ФИО ребенка, статус ( "Тестирование" - если ученик провалил тестирование в указанную группу и решил пересдать через 1-3 дня, "Ожидает оплаты", "Отклонена", "Оплачена", "Одобрена")
- Выбирает интересующую заявку из списка
- Происходит отображение заявки на новой странице: id заявки, ФИО ученика, год рождения, телефон и E'mail ученика, класс, группа, в которой будет обучаться, адрес прописки, информация о родителе (ФИО, место работы, телефон), предыдущие участия в ЛКШ/КШ, статус
Как вариант - можно раскрывать данные в самой таблице при нажатии на строке с заявкой
- Администратор/Представитель комитета нажимает на статус
- Выбирает из списка возможный статус.
- Представитель комитета может изменить только статус "Ожидает оплаты" на "Оплачена".
- Система сама изменяет статус с "Тестирование" на "Ожидает оплаты" в случае успешного прохождения теста.
- Администратор может изменить статус с любого на любой. В случае изменения статуса на "Отклонена" выпадает диалоговое окно, в которое предлагается ввести причину отклонения заявки.
- Пользователь авторизуется в системе, заходит в профиль
- Ученик:
- Открывает вкладку "Заявки"
- Выбирает из списка актуальных заявок заявку на участие в ЛКШ ( список заявок в виде: id-заявки, мероприятие, дата мероприятия, статус заявки )
- Происходит отображение заявки на новой странице/раскрывается информация о заявке на текущей в виде: id-заявки, информация с возможностью редактирования (на кого оформлена путевка, адрес прописка и т.д.), описание мероприятия, группа, если уже определена( на основе теста), статус. Если статус заявки - "Отклонена", то ученик может посмотреть причину отказа, наведя курсор на статус.
- Родитель
- Открывает вкладку "Дети"
- Выбирает одного ребенка из списка своих детей
- Затем из выпадающего меню/кнопки напротив каждого ребенка выбирает действие "Посмотреть заявки"
- Происходит отображение списка заявок выбранного ребенка на новой странице
- Выбирает из списка заявок заявку на участие в ЛКШ ( список заявок в виде: id-заявки, ФИО ребенка, мероприятие, дата мероприятия, статус заявки)
- Происходит отображение заявки на новой странице/раскрывается информация о заявке на текущей в виде: id-заявки, информация без возможности редактирования(на кого оформлена путевка, адрес прописка и т.д.), описание мероприятия, группа, если уже определена(на основе теста), статус. Если статус заявки - "Отклонена", то родитель может посмотреть причину отказа, наведя курсор на статус.
- Ученик:
- Действия для отображение заявки на участие в ЛКШ описаны в пункте выше
- Нажимает на кнопку "Подтвердить оплату"
- Появляется поле для ввода номера путевки
- Вводит код, нажимает кнопку "Отправить"
- Информация о подтверждении отправляется администратору в виде уведомления
- В случае проверки администратором актуальности кода, он переводит заявку в статус "Оплачена"
- Администратор/преподаватели создают вопросы/темы, которые необходимо/желательно/неплохо бы знать для поступления в определённую группу (критичность знаний задаётся), привязывают к каждой теме одну или несколько практических задач
- Ученик при заполнении заявки не указывает желаемую группу(?), но зато проходит "теоретическую анкету". Ему в случайном порядке (или что-то типа бинпоиска) предлагаются темы, для каждой из них он оценивает свои знания (отдельно теорию и практику?) по шкале от 0 до 3 (приблизительно). Потом он переходит к следующей теме.
- После заполнения всей анкеты ученик может отредактировать некоторые вопросы
- Ученик блокирует анкету и получает практические задачи (см. дальше)
- На основе анкеты автоматически выбираются практические задачи, которые ученик вроде бы должен уметь решать. И он их может сдавать до окончания приёма заявок
- Учеников автоматически раскидывает в предполагаемые группы
- Каждый преподаватель смотрит теоретическую анкету и решения практических задач учеников в своей предполагаемой группе (может быть не только?). Он зачисляет их в свою группу, перекидывает в предполагаемых учеников другой группы или вовсе отказывает в зачислении.
- В зачислении автоматически отказывается всем тем, кто не заполнил теоретическую анкету (или если никаких знаний не требуется не отметил, что собирается заниматься начальным программированием, к примеру)
- Потом публикуются списки групп и на странице с заявкой отмечается в какую группы ученика зачислили (все ученики узнают это одновременно)