Этот проект выполнил Александр Соловьёв

Выполнил Александр Соловьёв

Веб-сервис

Praktika.School – онлайн-школа на Тильде с огромным функционалом

Онлайн-школа с лекциями и уроками, доступными по подписке. Возможность купить урок навсегда. Реферальная программа. Ежедневная публикация вакансий из различных телеграм-каналов. Отдельный раздел сайта со стажировками: две роли (пользователь и HR).

Стек

CloudPayments, скрипт на Python, сервер для работы скрипта

Ссылка на проект

Бюджет

около 300000₽

Сроки разработки

В сумме 4-6 месяцев, но процесс растянут на долгий срок

Картинки можно листать вправо и увеличивать одним кликом 😉

Картинки можно увеличивать одним кликом 😉

Подробнее о проекте

После работы над другим проектом заказчица пришла с просьбой усовершенствовать praktika.school. Работа над онлайн-школой велась в несколько этапов и продолжается до сих пор, т.к. нет предела совершенству (как и задумкам, сейчас будет умное слово, стэйкхолдеров 😅).

Предыстория

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

1. Управление доступом

На первом этапе был добавлен достаточно простой функционал с динамическим доступом: пока есть подписка в CloudPayments, доступ есть, а как только подписка пропадала, доступ прекращался. Но это нужно было совместить с возможностью покупать курсы навсегда, что уже вызвало некоторые трудности. Пришлось усложнить сценарий в Integromat и дописать JavaScript-код, чтобы показывать пользователю, что он купил тот или иной курс. Так как личный кабинет был один для всех пользователей (без подписки, с подпиской, купившие курсы навсегда), необходимо было показывать на одной странице разные блоки, которые только выглядят одинаково, а на деле отображают разный контент.

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

2. Вакансии

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

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

3. Стажировки

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

Это отдельный личный кабинет с двумя ролями: соискатель и HR. Соискатель может бесплатно просматривать список всех стажировок, но не видит контакты. Для отклика (или просмотра контактов) ему необходимо зарегистрироваться и подписаться на сервис. HR может в своем личном кабинете размещать, редактировать и архивировать стажировки.

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

4. Демо-доступ + новый тип контента

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

Во-вторых появился новый тип контента – лекция. Если для курса изначально были созданы отдельные страницы (или несколько страниц), которые могли ещё и отличаться друг от друга по структуре, то с лекциями было всё проще, но интереснее. Для лекций должна была появиться динамическая страница с одной структурой, на которой меняется только контент: тема, описание, информация об авторе, само видео лекции, таймкода к видео, похожие материалы и чат.

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

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

В итоге всё это было реализовано, и теперь школа совсем не похожа на то, что из себя представляла в начале 2021 года.

Что по итогу?

Сейчас проект функционирует, но видно, что огромное количество сервисов и тонкие настройки мешают ему. По сути мы упёрлись в потолок. Дальше нужно либо успокоиться, либо переходить на более сложные решения – а это либо разработка с нуля полноценного ресурса, либо один очень инетересный low-code инструмент, который по сути и сделает эту полноценную разработку, но упростит процесс работы. В первом случае нужно привлекать некоторое количество разработчиков, верстальщика, возможно ещё кого-то. Во втором случае я могу справиться в одиночку. Посмотрим, возможно, скоро praktika.school станет ещё круче, и к этому я снова смогу приложить свою руку.

Отзыв заказчика

Отзыв от Снежаны Ивановой

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

По ходу реализации Саша может предложить улучшения или какие-то классные идеи, о которых ты сам не подумал. Это безумно ценное качество, которое оценят заказчики, имеющие опыт работы с командами разработки, бездушно отрабатывающими свои часы. 

С Сашей работать одно удовольствие. 

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

Отдельно отмечу поддержку проектов после реализации и возможность практически 24/7 быть на контакте с Сашей. 

Кто начнёт работать с Сашей, не пожалеет.