← Проекты

Платформа автоматизации образовательных процессов

Я разработал сервис для работы с корпоративными учебными кабинетами. В одном месте можно подключить несколько учётных записей, посмотреть назначенные курсы, сроки и результаты, а также узнать, требуется ли какое-то действие от пользователя.

У каждого человека свой кабинет, а для управления и обслуживания системы предусмотрены отдельные инструменты.

Коллаж из экранов учебной платформы: аккаунты, курсы, поддержка и баланс
Формат
Многопользовательский веб-сервис
Инфраструктура
Собственный сервер
Охват продукта
От учебных кабинетов до финансового учёта

Почему понадобился отдельный сервис

Сначала я решал небольшую повторяющуюся задачу. Для проверки идеи написал простую программу, которая работала на моем компьютере. На тот момент этого вполне хватало: мне было важнее проверить саму идею, чем сразу затевать большую разработку.

Позже ко мне обратились люди, заинтересованные в том, чтобы решением могли пользоваться несколько человек. Прежняя программа создавалась для одного рабочего места, и просто передать каждому её копию было недостаточно.

Теперь нужно было организовать доступ для разных пользователей, разделить их данные, сохранять историю и предусмотреть возможность обслуживать систему, когда возникают проблемы.

Я решил создать самостоятельный веб-сервис. Для его запуска использовал уже имевшееся у меня оборудование: подготовил сервер, развернул приложение и настроил защищённый доступ через интернет.

Так удалось запустить первую рабочую версию без аренды отдельного сервера и получить основу для дальнейшего развития.

Что человек видит в личном кабинете

После регистрации пользователь может подключить несколько учебных кабинетов. Для каждого доступны сведения о назначенных курсах, сроках и результатах. Есть поиск и фильтры, а неактуальные подключения можно перенести в архив, сохранив историю.

Информация поступает из другой образовательной системы, которую я не разрабатывал. Чтобы объединить необходимые сведения в одном месте, пришлось разобраться в её устройстве и организовать обмен данными.

При этом мне было важно, чтобы человек не просто видел информацию, но и понимал, что происходит с его данными. Например, если изменился пароль от учебного кабинета, сервис должен сообщить об этом и подсказать, где обновить данные. А если проблема возникла в работе самого приложения, её решение не должно становиться заботой пользователя.

Учебный кабинет со списком курсов, фильтрами, статусами и показателями прогресса
Учебный кабинет со списком курсов, фильтрами и результатами. Изображение подготовлено на демонстрационных данных.

Удобство — не только внешний вид

Когда основные функции заработали, я посмотрел на приложение глазами человека, которому не нужно разбираться в разработке.

Оказалось, что некоторые действия всё ещё требовали моего участия, а часть сообщений была понятнее IT-специалисту, чем обычному пользователю.

Поэтому я отдельно занялся удобством пользования. Личный кабинет должен показывать человеку необходимые сведения и понятные действия. А управление пользователями, поиск причин ошибок и контроль работы системы должны оставаться в служебной части.

Важным дополнением стала поддержка прямо в приложении. Если возник вопрос, человек может написать сообщение и позже вернуться к переписке. Мне же доступны инструменты, позволяющие разобраться в проблеме и помочь с её решением.

Работа над удобством продолжается. По мере проверки пользовательских сценариев появляются детали, которые не всегда заметны на этапе разработки.

Интерфейс переписки пользователя со службой поддержки
Переписка с поддержкой на демонстрационных данных.

Правила работы и экономика продукта

Когда сервис стал предназначаться не только для меня, появились и вопросы его дальнейшего использования: как предоставлять доступ, определять стоимость, организовать пробный период и разрешать спорные ситуации.

Я не хотел, чтобы финансовая часть ограничивалась страницей с тарифами. Одно дело — написать условия оплаты на сайте. Совсем другое — сделать так, чтобы сама программа соблюдала их, в том числе при ошибках и повторных действиях.

Поэтому в приложении появился финансовый учёт. Пользователь видит свой баланс и историю операций. Система отдельно учитывает доступные средства, суммы, временно зарезервированные под оплату, и окончательные списания.

При разработке правил я исходил из того, что плата должна начисляться только при наличии подтверждённого результата. Повторные действия не должны приводить к повторной оплате, а любые финансовые исправления необходимо сохранять в истории с указанием причины.

Пополнение баланса пока выполняется с участием администратора. Отдельные финансовые сценарии продолжают проверяться и дорабатываться.

Экран баланса с расчётом стоимости, резервами и историей финансовых операций
Баланс, расчёт стоимости и история операций. Все суммы и данные демонстрационные.

Результат

В результате получился самостоятельный веб-сервис, которым могут пользоваться разные люди.

Я разработал не только само приложение, но и организовал всё необходимое для его работы: собственный сервер, инструменты управления и сопровождения, поддержку пользователей и правила использования.

После запуска работа продолжается, как в любом другом приложении. Проверка показала, какие части ещё нужно упростить и доработать, чтобы человек мог пользоваться продуктом самостоятельно, без постоянной помощи разработчика.

Когда прежнего решения уже недостаточно

Если ваша работа усложнилась, информации стало больше, а привычные инструменты перестали справляться, не всегда нужно начинать с разработки новой системы.

Расскажите, с какой задачей столкнулись. Я помогу разобраться в ситуации, определить, что действительно стоит изменить, и при необходимости реализовать решение.

Обсудить задачу