Разработка сайта бизнес-образования ЭФ МГУ на NextJS и Strapi CMS

150 000 руб. за проект
14 июня 2023, 19:23 • 12 откликов • 81 просмотр
Что нужно сделать?

- Необходимо разработать новый сайт для отдела дополнительного образования экономического факультета МГУ с учетом уже подготовленного дизайна в Figma (в вариантах для десктопа, планшетов, мобильного). См. приложение

Какой стек нужно использовать?

- Новый сайт должен использовать фреймворк NextJS (лучше на обычном JS без TS) и CMS Strapi. В качестве дб предпочтительнее MariaDB, но обсуждаемо.

Какой срок?

- Срок разработки: 3 недели

Что по оплате и договору?
- Предлагайте стоимость (указана примерная). Лучше общую ну или за час, но нужно понимание, что успеете за 3 недели сделать. Оплата самозанятому или юрлицу по договору.

На чем сделан, как выглядит текущий сайт?

- Для референса: текущий каталог программ dpo.econ.msu.ru. Текущая страница отдельных программ (пример): dpo.econ.msu.ru/programs/emba. Сейчас использует Wordpress в качестве CMS

Что есть в новом макете? (что надо будет верстать)

- Макет содержит новый дизайн следующих страниц и форм (их нужно будет сверстать):
Главная страница (ссылка - десктоп, ссылка - мобайл)
Каталог программ (десктоп, мобайл)
Страница новостей
Страница новости
Модалка с информацией о спикере
Формы записи на консультацию и мероприятие (ссылка)
Форма подбора программы (в формате квиза) (ссылка)

Остается ли что-то с текущего сайта?

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

Что из основных функциональных требований?

- Возможность публиковать новые образовательные программы через заполнение динамических зон в Strapi (пример). После публикации для программы генерируется отдельная страница и появляется карточка в каталоге программ

- Для страниц отдельных образовательных программ должна поддерживаться кастомизация стилей, т.е. чтобы они могли быть оформлены в своих цветах. Нужна возможность выбирать цвета фонов, шрифтов, иконок для конкретных программ в CMS. Реализовать можно, например, через styled-components. Обсуждаемо, можно предложить иначе это сделать (может лучше выбирать заранее заданные конфиги с темами оформления)
- Администратор может дать право редактирования уже созданных отдельных программ выбранным пользователям с ролью автора. При этом публиковать новые программы авторы могут только с одобрения администратора (если это возможно в Strapi, если нет, то нужно оставить право создания новых программ только у администратора)

- Помимо страниц образовательных программ в CMS можно добавлять информацию о:
1) Экспертах
2) Мероприятиях (дни открытых дверей и т.п.)
3) Новостях (дипломы вручили такой-то группе, лекцию читал такой-то хороший человек)
4) Отзывах
5) Программах в процессе разработки
Соответственно под эти сущности нужно будет в Strapi модель данных сделать (это помогу описать и по большей части уже есть)

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

- В каталоге поддерживается фильтрация по ряду фильтров (цена, длительность обучения, тип программы, направление и т.п.). Информация в каталоге обновляется без перезагрузки страницы

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

- Относительно того, как реализовать сбор данных с форм (форма заявки для консультации, форма записи на программу, форма регистрации на программу) можно обсудить. Мы используем в качестве CRM AmoCRM, поэтому данные должны в любом случае туда уходить. Должны ли при этом сами формы создаваться в Strapi или лучше их делать в AmoCRM, а в Strapi вставлять ссылку - это обсуждаемо, как лучше реализовать.

Что нужно от исполнителя?
- Желательно фуллстек с хорошим опытом
- Опыт c NextJS и со Strapi (или с другими headless CMS и понимание, что сможете быстро с ней разобраться)
- Понимание принципов работы RESTful API
- Опыт работы с базами данных

Файлы