Платформа автоматизации образовательных процессов
Я разработал сервис для работы с корпоративными учебными кабинетами. В одном месте можно подключить несколько учётных записей, посмотреть назначенные курсы, сроки и результаты, а также узнать, требуется ли какое-то действие от пользователя.
У каждого человека свой кабинет, а для управления и обслуживания системы предусмотрены отдельные инструменты.
- Формат
- Многопользовательский веб-сервис
- Инфраструктура
- Собственный сервер
- Охват продукта
- От учебных кабинетов до финансового учёта
Почему понадобился отдельный сервис
Сначала я решал небольшую повторяющуюся задачу. Для проверки идеи написал простую программу, которая работала на моем компьютере. На тот момент этого вполне хватало: мне было важнее проверить саму идею, чем сразу затевать большую разработку.
Позже ко мне обратились люди, заинтересованные в том, чтобы решением могли пользоваться несколько человек. Прежняя программа создавалась для одного рабочего места, и просто передать каждому её копию было недостаточно.
Теперь нужно было организовать доступ для разных пользователей, разделить их данные, сохранять историю и предусмотреть возможность обслуживать систему, когда возникают проблемы.
Я решил создать самостоятельный веб-сервис. Для его запуска использовал уже имевшееся у меня оборудование: подготовил сервер, развернул приложение и настроил защищённый доступ через интернет.
Так удалось запустить первую рабочую версию без аренды отдельного сервера и получить основу для дальнейшего развития.
Что человек видит в личном кабинете
После регистрации пользователь может подключить несколько учебных кабинетов. Для каждого доступны сведения о назначенных курсах, сроках и результатах. Есть поиск и фильтры, а неактуальные подключения можно перенести в архив, сохранив историю.
Информация поступает из другой образовательной системы, которую я не разрабатывал. Чтобы объединить необходимые сведения в одном месте, пришлось разобраться в её устройстве и организовать обмен данными.
При этом мне было важно, чтобы человек не просто видел информацию, но и понимал, что происходит с его данными. Например, если изменился пароль от учебного кабинета, сервис должен сообщить об этом и подсказать, где обновить данные. А если проблема возникла в работе самого приложения, её решение не должно становиться заботой пользователя.

Удобство — не только внешний вид
Когда основные функции заработали, я посмотрел на приложение глазами человека, которому не нужно разбираться в разработке.
Оказалось, что некоторые действия всё ещё требовали моего участия, а часть сообщений была понятнее IT-специалисту, чем обычному пользователю.
Поэтому я отдельно занялся удобством пользования. Личный кабинет должен показывать человеку необходимые сведения и понятные действия. А управление пользователями, поиск причин ошибок и контроль работы системы должны оставаться в служебной части.
Важным дополнением стала поддержка прямо в приложении. Если возник вопрос, человек может написать сообщение и позже вернуться к переписке. Мне же доступны инструменты, позволяющие разобраться в проблеме и помочь с её решением.
Работа над удобством продолжается. По мере проверки пользовательских сценариев появляются детали, которые не всегда заметны на этапе разработки.

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

Результат
В результате получился самостоятельный веб-сервис, которым могут пользоваться разные люди.
Я разработал не только само приложение, но и организовал всё необходимое для его работы: собственный сервер, инструменты управления и сопровождения, поддержку пользователей и правила использования.
После запуска работа продолжается, как в любом другом приложении. Проверка показала, какие части ещё нужно упростить и доработать, чтобы человек мог пользоваться продуктом самостоятельно, без постоянной помощи разработчика.
Когда прежнего решения уже недостаточно
Если ваша работа усложнилась, информации стало больше, а привычные инструменты перестали справляться, не всегда нужно начинать с разработки новой системы.
Расскажите, с какой задачей столкнулись. Я помогу разобраться в ситуации, определить, что действительно стоит изменить, и при необходимости реализовать решение.