Мы просмотрели 5 наиболее популярных по количеству отзывов арегаторов. Большая часть отзывов содержала информацию о стоимости, интенсивности обучения и возможности учиться удалённо. Эти параметры мы вынесли отдельным блоком, как ключевые.
Отзыв можно оставить без авторизации, но публикуется после модерации в админке. Рейтинг курсов считается автоматически по 4 критериям:
Для наглядности сделали % рекомендующих курс из тех, кто оставил отзыв. Рассчитывается как относительная величина отзывов с оценкой больше 4 звёзд.
В отзывах запрашиваем отдельно плюсы и минусы курса, поля обязательные, и есть ограничение на минимальное количество символов.
По каждой оценке сделали подсказку при наведении, которая кратко объясняет логику расчёта оценки — для прозрачности цифр, чтобы люди понимали откуда они берутся.
Рейтинг школ учитывает критерии курсов и 3 доп. критерия для школ:
Поиск учитывает ошибки и транслит, например одинаковая выдача будет при запросах "дизайнер", "lbpfqyth", "дезайнер". В реализации использовался Elastic Search из-за быстрой скорости работы и гибких настроек поиска.
В каталоге курсов определили полезные фильтры:
Добавили сортировку по цене и рейтингу, как у конкурентов.
По функционалу сравнения смотрели на Яндекс.Маркет. Курсы из разных категорий группировали по разным табам.
В админке разделили отзывы по школам и курсам. У всех отзывов реализовали 3 состояния:
Оставили возможность менять статус в любой момент времени: если отзыв отклонён или опубликован по ошибке, админ сможет это исправить.
Статистику по школам и курсам можно выгрузить в Excel. В выгрузке — количество просмотров, переходов, отзывов. Статистика имеет дополнительную ценность для школ и позволяет понять, какое количество дополнительного трафика привлекается через агрегатор за конкретный промежуток времени.
При создании курса или школы настраиваются SEO-шаблоны, как в популярных CMS. SEO-шаблоны ускоряют наполнение курса и помогают поисковым роботам корректно проиндексиовать страницу сайта и выдать её в поиске.
Реализовали MVP. Фронтенд на Vue.js, использовали MaterialUI. Бэкенд на Laravel (PHP). Для поиска выбрали ElasticSearch. Содержание работ MVP: