Найти в Дзене
CodeEngine

Что уже готово и что впереди: промежуточные итоги разработки моей образовательной платформы

Создание собственной образовательной платформы - это не только про код, дизайн и архитектуру. Это про идею, которая постепенно обрастает формой и становится чем-то настоящим. В этой статье я расскажу: что уже реализовано, какие задачи сейчас в приоритете и куда движется проект. В конечном итоге я добиваюсь того, чтобы первая версия MVP содержала в себе: Разработка в одиночку требует немало времени и усилий, но несмотря на это, уже есть чем поделиться. Backend Можно сказать, что серверная сторона готова для MVP, а именно: Однако, серверная сторона все еще нуждается в тестировании, проверки множества кейсов и правки недочетов. Дизайн Frontend Как можно заметить, наименее развитая сторона проекта - Frontend, она требует не мало времени и внимания с моей стороны как backend разработчика. Работа разделена на этапы, первым делом разрабатывался backend, после чего сейчас идет доработка дизайна в Figma, и на конец настанет очередь frontend. Backend Хоть и было сказано, что Backend закончен, оп
Оглавление

Создание собственной образовательной платформы - это не только про код, дизайн и архитектуру. Это про идею, которая постепенно обрастает формой и становится чем-то настоящим. В этой статье я расскажу: что уже реализовано, какие задачи сейчас в приоритете и куда движется проект.

Что ожидается в первой версии MVP

В конечном итоге я добиваюсь того, чтобы первая версия MVP содержала в себе:

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

Что уже готово

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

Backend

Можно сказать, что серверная сторона готова для MVP, а именно:

  • Хранение пользователей и сессий, возможность регистрации и входа.
  • Спроектирована и реализована гибкая структура хранения курсов, тем, этапов и упражнений.
  • Поддерживаются разные типы упражнений: от простого вопроса-ответа до интерактивных диаграмм.
  • Учтены сценарии для авторов и учеников: система валидирует данные, хранит прогресс, ошибки и этапы.
  • Добавлены механизмы черновиков, публикации изменений и логика пересчёта прогресса при изменении курса.
  • Используются контейнеры Docker для изоляции и удобного деплоя.

Однако, серверная сторона все еще нуждается в тестировании, проверки множества кейсов и правки недочетов.

Дизайн

  • Нарисована главная страница платформы CodeEngine. Экран приветствия как и большинство страниц выдержаны в спокойных сиренево-фиолетовых тонах, задающих дружелюбное и сосредоточенное настроение. В центре - название проекта с логотипом в виде шестеренки, символизирующей движение, механизмы обучения и постоянное развитие.
  • Девиз "Начни свой путь из подмастерья к мастерству" - подчёркивает, что каждый может пройти путь роста, начиная с основ и продвигаясь к профессиональному уровню.
  • Дополняется все вдохновляющей цитатой Бенджамина Франклина "Инвестиции в знания приносят самые высокие доходы", как бы намекая пользователям, что обучение не пустая трата времени, а вклад в будущее.
-2
  • Имеется дизайн форм входа и регистрации.
  • Навигационное меню, доступное на любой странице платформы помимо главной.
  • Профиль пользователя, с возможностью сброса пароля, смены имени, даты рождения и аватарки.
  • Страница со списком курсов, на которой представлен перечень курсов с возможностью поиска, фильтрации и сортировки, также чтобы не переполнять страницу множеством данных имеется пагинация.
  • Детальная страница курса, на которой пользователи увидят более подробную информацию о курсе, включая: описание, список тем, отзывы и другое.
  • Детальная страница темы, содержащая в себе блоки с теорией, практикой и обсуждениями.
  • На детальной странице курса и темы отображены переключатели для авторов и администрации: Обзор <-> Разработчик, чтобы авторы своих курсов и администрация могли переключаться между редактором курса (черновик) и видом который отображается обычному пользователю (опубликованная версия).

Frontend

  • Главная страница.
  • Возможность входа и регистрации.
  • Профиль пользователя с функционалом смены имени, даты рождения и пароля.
  • Навигационное меню.
  • Список курсов, с функционалом поиска, фильтрации, сортировки и пагинации.

Как можно заметить, наименее развитая сторона проекта - Frontend, она требует не мало времени и внимания с моей стороны как backend разработчика. Работа разделена на этапы, первым делом разрабатывался backend, после чего сейчас идет доработка дизайна в Figma, и на конец настанет очередь frontend.

Что осталось

Backend

Хоть и было сказано, что Backend закончен, определенно будут правки и доработки логики при проверке на реальной активности пользователей. Во избежание будущих проблем я также реализую ограничение кол-ва запросов на сервер, для DDoS-атак и потенциальных ошибок сервера.

Дизайн

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

Frontend

  • Подтверждение регистрации вводом кода приходящим на почту пользователю.
  • Установка и изменение аватарки пользователя.
  • На странице со списком курсов требуется обновить отображения типов курса, ранее тип мог быть один, сейчас же можно выбрать несколько.
  • Детальная страница курса и темы с отображением прогресса по темам и этапам.
  • Страницы создания/изменения курса и темы.
  • Текстовый редактор для редактирования теоретической части тем.
  • Конструктор упражнений, которым легко и интуитивно понятно пользоваться.
  • Модерация курсов, показ версий черновика и опубликованной. Возможность администраторам одобрять или отклонять публикацию курса.
  • Адаптация элементов под разные устройства

Что нас ждет в будущем?

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

До публикации MVP я собираюсь создать свой собственный курс, который вы сможете пройти, тем самым протестировав функционал. На данный момент я также продумываю, как в первой версии будет раздаваться авторство пользователям, скорее всего я добавлю кнопку в профиле "Стать автором", где вас будет ждать опрос, целью которого является сбор сведений о желании стать автором и создать собственный курс, после чего спустя какое-то время я проверю подобные заявки и выдам авторство всем желающим, чтобы вы смогли испробовать возможности и удобства редактора курсов. Для вас это уникальная возможность претендовать на авторство на раннем этапе разработки, ведь к моменту релиза эта возможность может станет платной.

Всех карт раскрывать не буду, но сейчас я предоставлю то, что может ожидать вас в будущем:

  • Рейтинговые группы - группы пользователей создаваемые авторами платформы, на основе их собственных курсов, проходя которые ученики зарабатывают баллы. По закрытии рейтинговой группы, ученики занявшие призовые позиции в топе или же получившие определенное кол-во баллов, получают награды, которые выдаются и настраиваются автором группы.
  • Возможность монетизировать собственные курсы, выставляя цену на конкретный курс или давая возможность покупки подписки на все курсы автора.
  • Прокачка в дереве навыков. Авторы курсов смогут задавать на темы/упражнения определенные очки навыков, которые будут распределяться по ветвям в дереве отображая статистику, успехи и уровень мастерства ученика.
  • Статистика для авторов и учеников. Ученики смогут видеть графики своего прогресса, сколько было совершено ошибок, на какой теме, будет показано кол-во успешно завершенных курсов/тем/упражнений. Авторы смогут видеть где ученики чаще всего совершают ошибки, сколько учеников завершили курс, прошли тему или упражнение.
  • Система уровней. Благодаря которой, пользователи смогут прокачивать собственный уровень поднимаясь в рейтингах платформы.
  • Достижения. Ученики и авторы смогут за определенные действия получать достижения в свой профиль, которые будут отображать уровень опыта или же просто восхищать людей, которые посетят профиль человека. Например, за выполнение 100 упражнений будет получено достижение "Сотня знаний".
  • Внутренняя валюта, с помощью которой можно будет покупать: подсказки для прохождения упражнений, возможность разбора правильного ответа упражнения, персонализацию для оформления платформы или профиля, дополнительные курсы или темы, открытие секретных заданий и другое.
  • Ежедневные задания, которые генерируются каждый день сбрасывая прогресс предыдущих, и выполняя которые пользователи смогу зарабатывать внутреннюю валюту или другие награды.
  • Для авторов появится возможность импорта/экспорта упражнений из других образовательных платформ.
  • История изменения курса, чтобы администраторам было проще замечать последние изменения перед публикацией новой версии курса.
  • Зависимость тем. Ученик не сможет продвинутся к следующей теме пока не пройдет предыдущую.
  • Уведомления. Авторы курса смогут видеть уведомления о том, что кто-то купил курс, прошел его или же, что модерация одобрила публикацию черновика. Ученики в свою очередь смогут наблюдать уведомления о завершении рейтинговых групп, начислении наград, получении достижений или прокачки навыков.

Это и многое другое уже давно сидит у меня в голове, однако все следует делать по порядку, ведь хаос идей без дисциплины - это просто шум, а не созидание.

Итоги:

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

Также сообщаю, что у меня есть Telegram канал, куда я публикую обновления о ходе разработки, делюсь своими мыслями и промежуточными результатами - https://t.me/+9NhB_D91XblkNjcy

Благодарю за внимание!

Контактные данные

Почта: codeengine.official@gmail.com

Telegram: @Claymore23