SQL Academy — тренажёр по написанию SQL-запросов, которым приятно пользоваться
Проект появился из-за отсутствия удобного сервиса для совершенствования навыков составления SQL-запросов и нацеливался восполнить данный вакуум. В этой статье я хочу поделиться историей его развития — от зарождения идеи до будущих планов.
Идея
Первые мысли о создании данного сервиса появились на студенческой скамье, с курса по SQL — обязательного элемента всех образовательных программ, хоть как-то связанных с информационными технологиями.
На нашей кафедре для практики SQL-запросов использовалась кривоватая реализация на Delphi, сделанная еще в эпоху динозавров. Она откровенно выглядела устаревшей и с переменным успехом проверяла запросы. Поиск хороших альтернатив не увенчался успехом.
Вот что тогда я нашел из более-менее подходящего.
Абсолютный лидер по посещаемости среди SQL-тренажеров. Имеет большую базу заданий и десятилетнюю историю. Но качество используемых баз данных, вырвиглазный интерфейс и море рекламы вынуждают от него отказаться.
Пошаговый интерактивный учебник. Для самых-самых начинающих, один из лучших, которые я видел. Но для ребят посильнее хочется видеть задачи, более приближенные к реальным и не привязанные к конкретной теме. А такого сервис предоставить, к сожалению, не может.
К слову, есть очень похожий проект от русских ребят — learnDB. К моменту возникновения идеи он не был виден на горизонте. Что, наверное, хорошо, иначе бы я не стал развивать идею дальше. Но все же это другой сегмент, сегмент пошаговых инструкций для знакомства с SQL. Отточить навык составления запросов на такого рода ресурсе невозможно.
Крупная платформа для практики и изучения языков программирования, решения алгоритмических задач. Есть блок, посвященный SQL. У них прекрасный тренажер с технической точки зрения. Но какая-то разрозненная база заданий, мне совсем не понравилась.
Итого, перебрав конкурентов и не найдя чего-либо сносного, закатал рукава и сел разрабатывать свой взгляд на данный продукт.
Первый прототип
Запуск первой версии состоялся 24 июля 2019 года.
Тогда сайт представлял собой главную страницу в виде корявой заглушки (дизайнеров в команде никогда не было). И, пожалуй, самого главного элемента — онлайн-тренажера.
Было мало вопросов, только две самые простые базы данных, но уже тогда тренажер был лучше большинства решений: в нем были внятные задания, удобный текстовый редактор с автодополнением и работой с несколькими вкладками.
С запуском встала задача привлечения первой аудитории. Получить ее я планировал путем добавления статей по SQL в учебник.
P. S. Статья ведется от первого лица, но за проектом стою не только я. За разработку, помимо меня, отвечает еще один разработчик, а за идеи для фич, наполнение материала и подметки технических ошибок — десятки других лиц. Всем огромное спасибо!
Развитие и рост аудитории
Статьи росли, добавлялись новые задания, но аудитории не было. А без аудитории кажется, что ты в пустую тратишь время и силы. Тогда, пытаясь рассказать людям о сервисе, я нашел возможность опубликовать статью в proglib.io, у них огромная аудитория начинающих разработчиков или тех, кто хочет им стать.
Кроме того, у них есть возможность написать статью, и после модерации она окажется доступной на сайте, в пабликах социальных сетей и будет перепечатана другими изданиями.
И это был успех!
За пару недель число ежедневных посетителей увеличилось с 15–20 до 100. Когда появилась аудитория, проект начал активный рост.
За октябрь — ноябрь 2019 года:
- Появляется система профилей.
- Появляется рейтинговая система для создания соревновательного эффекта.
- Значительно расширяется количество учебного материала.
- Происходит редизайн в первую очередь лендинга.
За два месяца на сервисе регистрируются более 450 пользователей, хотя большая часть функциональности доступна без регистрации. Со средним показателем аудитории в 150 человек в день заканчивается 2019 год.
Попытки коммерциализации
В самом начале проекта не было мыслей о том, чтобы на нем заработать. Хотелось просто сделать хороший продукт для тех, кому нужно отточить свои навыки в SQL. Но по мере развития, когда я все больше уделял внимание проекту, стали возникать мысли о дальнейшей монетизации.
Первая попытка
Когда сервисом пользовались порядка 100 человек в день и уже был разработан профиль и система рейтинга, возникла идея в выдаче сертификатов для тех, кто смог решить все или почти все задания с тренажера. Ну как возникла: sql-ex же выдает, чем мы хуже?
Понятно, что этот сертификат ничего не значит и никак не подтверждает навыки сдающего, но для самых начинающих аналитиков и разработчиков это возможность хоть что-то добавить в свое резюме. Это может послужить некоей наградой для самого себя, отметкой, что ты смог прорешать все задания.
За получение сертификата была назначена символичная сумма — 249 рублей. Но за пять месяцев его приобрели всего шесть раз.
Вторая попытка
Почему бы не попробовать поставить рекламные баннеры? Сейчас те, кто хоть немного разбирается в доходах на рекламных баннерах, должны ухмыльнуться. Поймите меня правильно: для меня это был первый опыт размещения рекламы. Реклама провисела месяц, вот статистика по доходам.
Статистика по посещаемости за данный период
После месяца размещения рекламы я ее прикрыл. Толку от нее нет, только портит впечатления.
Третья попытка
В SQL-тренажере с самого начала были недоступны ответы к предлагаемым заданиям. В этом была суть: какой смысл показывать пользователю сразу правильный ответ, пусть подумает, а если вообще нет идей, у нас для этого был специальный чат в группе. Можно было спросить, что не так с его ответом. Мы пытались оперативно отвечать и пояснять решения.
Ответов не было в публичном доступе. Но была большая доля пользователей, желающих получить ответы к заданиям. Некоторые спрашивали в личных сообщениях о возможности покупки ответов.
Так зародилась идея о создании премиум-аккаунтов, предоставляющих дополнительные возможности, в том числе доступ к решениям. Кроме того, премиумы получат сертификат об окончании, а также будут выделяться специальным образом в знак благодарности материальной поддержки проекта.
Премиум-аккаунты появились относительно недавно — 22 мая, поэтому сложно говорить об эффективности данного способа монетизации. Но что уже точно понятно — это пока самый эффективный из ранее опробованных методов.
Цена такого премиум-аккаунта — 600 рублей.
Кажется, выглядит неплохо, но такой рост значительно замедляется. Пока нет объяснений, с чем это связано и насколько эффективным окажется третья попытка. Но мы продолжим развивать идею с премиум-аккаунтами.
Заключение
Спасибо большое, что дочитали! Я рад тому, что есть сейчас, но пока у нас по-прежнему очень маленькая аудитория (разница с тем же sql-ex.ru раз в десять).
SQL Academy определено есть куда расти, но мы должны создавать эту почву для роста. Проект однозначно ждет продолжение, поэтому я был бы рад, если бы вы поделились идеями для дальнейшего развития продукта. Для меня пока — будущее в создании на базе тренажера системы пользовательских тестов по SQL.
Update:
Продолжение истории развития сервиса
Лучший тренажер - реальная потребность.
Базовый SQL - учится за вечер, а дальше идешь решаешь задачи, для которых учил.
Смысл тренажера - непонятен.
Написать SELECT * FROM X или научиться просто вставлять новую запись в БД, действительно, занимает немого времени. Но как показывают отзывы, обратная связь и мой опыт, чтобы разобраться с агрегацией, группировками, слиянием и преобразованием неких бизнес-требований вида "Какой(ие) кабинет(ы) пользуются самым больших спросом ?" в структурированный запрос требуется 1-3 недели в зависимости от способностей учащегося.
Комментарий удален модератором
Полагаю, чтобы стартовать. Реальная потребность это хорошо, только как ты ее создашь? Pet project'ы?
Тут проблема кроется в том что не всегда можно найти реальные задачи.
Комментарий недоступен
Комментарий недоступен
Спасибо!
А мужики в курсе?
Нормально посветили персональными данными :D
Спасибо, однозначно попробую. Успехов в развитии.
Мне это не надо, но могу подсказать, ищем клиентов там где они есть, а где они есть, правильно, там где изучают SQL, а где изучают SQL, правильно, в ВУЗах, выходим на преподавателей дисциплины и дальше раскручиваем как учебное пособие. Удачи.
Нет гарантии в виде договора, что после включения использования сервиса в учебный план он не исчезнет, не ограничит доступ или не изменит содержание. А договор тянет за собой серьезные обязательства в виде доступности сервиса, технической поддержки и объектов авторского права на учебные материалы. Обязательства тянут расходы, которые учебные заведения не станут компенсировать, так как они не добавляют ценности их учебному процессу.
Учебные организации - это большая аудитория, но не платежеспособная. Они не могут просто так выделить средства, а если выделят тут включаются обязательства, как верно подметил Prolis Labkk.
Пока видится перспективы в развитии создании пользовательских тестов для задач рекрутинга: преотбор на позиции начинающих разработчиков и аналитиков. Типо google form с конструктором с аналитиком, но под задачи проверки знания базового SQL.
Молодцы! Желаю успехов и продвижения!
Комментарий недоступен
Николай. Рискую быть закиданной чем-нибудь, но все-таки выскажусь.
Мне, как руководителю, совершенно неинтересен какой-то там заумный тренажер, чтобы меня челленджили, опять и снова учили думать и проч. Поверьте, я думаю, порой даже одна и за всех, и мозг мой перегружен. Еще на заре карьеры это все, пусть и в других формах, учила. Но забывается все. Сейчас мне нужно очень просто и конкретно. Обязательно сразу с доступами к ответам и очень четким, желательно интерактивным объяснением синтаксиса, прямо до знака в ответе. И с примерами данных, хотелось бы четкости. В sql-exe они чудовищно представлены. Что-то забыли указать, видимо, в уме у программиста или где-то, непонятно только где эти входные детали. И вообще порой ощущение, что кто-то очень-очень умный показывает, насколько. А нам не надо. Мы верим, что программисты умные. Уважаем очень. Но у нас задачи другие, поверьте.
В общем, что предлагаю: сделать отдельный блок по основным базовым экономическим задачам, с очень простыми и четкими примерами. С вариантами ответов со сверх подробной расшифровкой. И желательно, выпадающими списками какими-нибудь, чтобы я открыла и потренировалась.
Цену какую-нибудь реальную, для широкого круга аудитории, типа 1 тысяча за подписку. И чтобы дней за 5 основной круг стандартных задач.
Проработайте мобильную адаптацию вашего ресурса. И траффик минимум у за несколько месяцев.
Куча народа сидит в сети через мобилки.
sql на мобилках писать - ну такое. Что-то сродни сидению на заборе с колышками. я думаю, правки мобильной верстки не в приоритете здесь :)
Сайт очень красивый, красавцы!
Работаю в MSSQL с 2003 года. Уже чего только не писал и не делал в нем. И главное не селект написать, а сделать что бы процедуры быстро работали, а не по пол часа с одним селектом в котором вложенных подзапросов 20 штук!
Кстати, зарегался через гугл-аккаунт, получил сообщение об ошибке. Но аккаунт при этом был зарегистрирован.
Бро, где ты был раньше?
конечно максимально гнилой подход к конвертации юзера
сначала сказать что нужно авторизоваться для посмотра решения, а после авторизации добавить что нужен премиум аккаунт
А есть хардкорные задачки как на sql-ex?
Попробуй! Задачи разбиты на сложность от 2 до 9 (пока так). Начиная с задач со сложностью 5-6, приходится задумываться над решением. Хотя это все индивидуально.
Посмотрите на datacamp, там есть как продвинутые, так и базовые курсы по SQL. В целом реализация очень похожая получилась, но пока по объему контента сильно им проигрываете. Попробуйте как-нибудь ввести подписку аналогично их подписке, либо с коротким пробным периодом, либо оставив лишь пару упражнений в открытом доступе.
P.S. Мне бы не понравилось, что мои данные в виде той же почты висят на главной - закройте что ли рейтинг для тех, кто не зарегистрировался.
+1
Отличный проект, можно классно развивать добавляя постепенно другие БД mongo, mssql и тд!
Комментарий недоступен
На каком фреймворке сделан сайт? Если не секрет, конечно.
React, Node(Koa), Mongo, MySQL (среда выполнения)
По поводу монетизации - можно делать не один общий курс, а специализированные -
Sql для веб-разработчика
Sql для продукт-менеджера
Sql для маркетолога и тд.
Часть курса доступна бесплатно, остальная - за деньги.
А где кнопка с CTA на главной? Зашёл и не понял куда далее идти
sql-ex лет 8 назад мне зашёл, до сих пор запросы пишу разной сложности более менее уверенно благодаря задачкам на том ламповом ресурсе
вот такой бы тренажер по фротэнду (css особенно )
Есть сервис CSS Battle, на нем можно потренироваться в написании чистого и эффективного CSS. Главная фишка сервиса это соревнования друг с другом в написании самого эффективного и чистого CSS за что юзеры получают баллы в общей таблице :)
Верстка лендинга на мобилке - поехавшая.
Надо сделать 2 кнопки как в datacamp. Одна Run Query, Другая Submit Answer. Каждый раз видеть что ответ неправильный когда я просто на промежуточном этапе неприятно)
Не знаю есть ли, сужу по первой анимашке на главной, есть ли вывод ошибок, как в клиентах мол не знаю такого-то столбца, таблицы и пр, а не просто верно/неверно? Стандартные системные ошибки от самой БД, чтобы как наводка была, а не ломать глаза или мозг опечатался ты или реально в логике косяк...
Есть такое)
Что-то вы плохо искали, уже давно есть https://shultais.education/courses/sql и на Stepik https://stepik.org/course/51562 - там и видео-курс, и SQL тренажер.
У вас не работает Google Sign In. При выборе профиля срабатывает редирект снова на выбор профиля.
В тренажёре IMHO несколько раздражающая авто-подстановка. Пришлось немного побороться с редактором, чтобы написать простую строчку "SELECT * FROM Trip AS T"
Ребята, у вас куча ошибок в заданиях.
Например: Вывести все названия самолётов, на которых можно улететь в Москву (Moscow)
Ответ:
select plane
from trip
where town_to like 'Moscow'
а Правильный ответ оказывается такой:
select distinct (plane)
from trip
where town_to like 'Moscow'
А где хоть слово в запросе про уникальность? Там наоборот сказано "ВСЕ"
Вот ещё один интересный тренажер: https://stepik.org/course/63054/syllabus
тренажер отличный, мне кажется похожих очень мало - либо платно, как степик, либо неудобно. тут и ux отличный, удобно, вывод ERR-диаграмм порадовал! спасибо!
отличный тренажер! купил и не жалею
Ещё один хороший сайт где можно практиковаться в написании запросов SQL с практическими заданиями: https://sqltest.online