Задание на разработку Forte-CMS

  1. Введение
  2. Панель администратора
    • авторизация darAccount
    • страница просмотра всех страниц
    • страница создания новой страницы
      • wysiwyg редактор
    • страница редактирования страницы
    • удаление выбранной страницы
  3. Главная страница
    • список всех страниц
    • детальный вид отдельной выбранной страницы
  4. Дополнительно

1. Введение

Сейчас, для создания статичных страниц на сайте, например публичная офферта, политика конфиденциальности или маркетинговые лендинги на различные праздники необходимо дёргать программистов и ставить им отдельные задачи. Чтобы автоматизировать этот процесс, требуется реализовать приложение, в котором можно будет создавать контентные страницы, по аналогии с wordpress, joomla.

CMS будет делиться на две части: панель администратора для создания страниц и сама главная страница, где можно будет смотреть полученные результаты.

В качестве примера можно посмотреть приложение CMS на Joomla:

Main Page: https://s1.demo.opensourcecms.com/s/32
Admin Page: https://s1.demo.opensourcecms.com/joomla/administrator/
Username: opensourcecms
Password: opensourcecms

2. Панель администратора

Панель администратора должна иметь модуль авторизации и будет иметь следующие страницы:

  • создание новой страницы
  • список созданных страниц
  • редактирование выбранной страницы
  • удаление страницы

Весь функционал данного раздела базируется на стандартных CRUD операциях.

2.1 авторизация darAccount

В нашей компании вход во все сервисы осуществляется с помощью единного сервиса авторизации darAccount. Для входа в панель администратора необходимо подключить данный модуль. DarAccount базируется на принципе OAuth2.

2.2 cписок созданных страниц

Страница "Список созданных страниц" должна иметь табличный вид для просмотра ранее созданных страниц. На данной странице должны быть две базовые функции:

  • удаление страницы
  • редактирование страницы

2.3 cоздание новой страницы

Для создания новой страницы нужно подвязаться к API бекенда, чтобы заполненный контент сохранялся к нам на сервера.

Контент должен заполняться через WYSIWYG редактор. В интернете уже есть существующие плагины WYSIWYG редакторов, вы можете взять их за основу. Основные требования к редактору:

  • поддержка html сниппетов
  • поддержка css стилей в сниппетах html
  • возможность загружать картинки
  • возможность загружать iframe видео с ютуба

2.4 удаление страницы

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

2.5 редактирование страницы

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

3. Главная страница

На главной странице маркета, можно будет просматривать список созданных страниц из панели администратора и их детальный вид. Роутинг приложения будет выглядеть примерно следующий образом:

для отображения списка всех статей
market.forte.kz/cms/list 

для отображения детального вида статьи
market.forte.kz/cms/page-1
market.forte.kz/cms/page-2

4. Дополнительно

По дополнительным вопросам, можно обращаться к