Top.Mail.Ru
Описание функциональных характеристик ПО | 72.ру - новости Тюмени
Информация

Документация, содержащая описание функциональных характеристик программного обеспечения

  1. ВВЕДЕНИЕ

Настоящий документ содержит описание функциональных характеристик и архитектуры Веб-портала 72.ru (далее – ПО).

  1. ОБЩЕЕ ОПИСАНИЕ ПО

ПО представляет собой единую медийную платформу создания, хранения, управления и дистрибуции контента:

-  Позволяет эффективно создавать и размечать текстовый и мультимедийный контент различных типов, а также обогащать его дополнительным обвесом;

- Обеспечивает аналитику выпущенного контента, управление раздающими страницами и блоками внутренней дистрибуции контента, гибкую внешнюю дистрибуцию контента во внешние платформы (с гибкой настройкой под каждое издание);

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

- Обеспечивает возможность для пользователей комментирования выпущенного контента с последующей гибкой системой модерации;

-     Позволяет перейти со стартовой страницы на дополнительные сервисы: Авто, Работа, Недвижимость, Видео, Погода, Афиша, Объявления, Гороскоп, Знакомства, Транспорт, Карта, что интегрируются в необходимом объеме и с персональными настройками.

ПО состоит из компонентов, которые позволяют решать следующие задачи:

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

B)                Backend, предоставляет gateway, c гибким конфигурированием каждой страницы в проекте, источников данных, правил обработки, создание спецификаций. Имеет возможность для горизонтального масштабирования при увеличении нагрузки.

C)                Frontend реализует рендер страниц и часть логики, согласно переданным данным в спецификации с backend

  1. ЭЛЕМЕНТЫ И ПРИНЦИПЫ ВЗАИМОДЕЙСТВИЯ ПО

ПО базируется на следующих элементах и их принципах взаимодействия:

                   ПО

          Бизнес-логика: базовые сценарии дистрибуции, создания, редактирования, поиска контента

                   Сервисы управления пользователями

                   Сервис комментирования

                   Сервис модерации комментариев

                   Сервис хранения файлов и раздачи файлов

                   Сервис отложенных операций

                   Внешние компоненты

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

  1. ОБЩАЯ СХЕМА ПО

  1. ОПИСАНИЕ СХЕМЫ ПО

Основная библиотека проекта, содержит в себе набор компонентов, которые предоставляют базовые возможности для создания и управления материалов.  Использует:

1.        json: компонент для сериализации, десериализации комплексных объектов и их списков.

2.                  composer: управление зависимостями проекта

3.                  phpunit/phpunit: запуск unit тестов

4.                  ongr/elasticsearch-dsl: клиент для доступа к модулю поиска

5.                  html2text/html2text: библиотека для конвертации HTML в plain text

6.                  slim/slim: микрофреймфорк для разработки rest api

7.                  slim/http: реализация http объектов

8.                  ackintosh/ganesha: реализация circuit breaker

9.                  portal/phpmorphy: библиотека для склонения слов

10.              zircote/swagger-php: генерация swagger спецификаций

11.              php-ffmpeg/php-ffmpeg: библиотека для конвертации видео

12.              guzzlehttp/guzzle: библиотека для выполнения http запросов

13.              intervention/image: библиотека для манипуляции с изображениями

Сервисы

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

Бизнес-логика

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

Сервисы управления пользователями

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

Администратор может создавать пользователей и назначать им различные возможности по взаимодействию с данными:

1.                  Создание

2.                  Чтение

3.                  Обновление  

Возможно создание ролей:

1.       С независимым доступом на основные операции (часть пользователей могут только читать, часть обновлять, часть создавать).

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

3.           Возможно создание групп пользователей, с автоматическим присвоением ролей при попадании пользователя в группу.

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

Сервис комментирования

                Предоставляет возможность оставить комментарий под разрешенными материалами. Хранит информацию о созданных комментариях. Осуществляет последующую фильтрацию комментариев по правилам. Взаимодействует с сервисом пользователя. Хранит в себе профиль комментатора.

Сервис пользователя

Сервис предоставляет возможности по авторизации пользователей, базово  авторизация работает  через пару логин и пароль. Помимо этого сервис может работать со  следующими  видами  авторизации:

1.                  Подтверждение телефона через смс

2.                  Авторизация через социальные сети

Сервис модерации комментариев

Представляет собой rest api и js модуль для панели администрирования. Позволяет отклонять комментарии, уведомлять пользователя о том, что комментарий был отклонен. Имеется возможность работать нескольким модераторам одновременно.

 

Сервис хранения файлов и раздачи файлов

Данный сервис отвечает за хранение файлов. Хранение данных может быть сконфигурировано под любые задачи, в том числе имеется возможность организовать резервирование данных. Есть возможность изменять размеры изображения (crop, resize) и расширение налету.

Сервис отложенных операций

                Данный сервис отвечает за конвертацию залитого видео, генерацию превью для соцсетей, различные асинхронные задачи.

Внешние компоненты

Внешние компоненты получают доступ к данным ПО через gateway и могут показывать созданный контент.

Панель управления

Панель управления представляет собой веб-интерфейс, который предоставляется сразу в системе. Предоставляет пользователям следующие возможности:

1.                  Авторизация

2.                  Управление пользователями и их возможностями

3.                  Создание, изменение, дистрибуция контента

4.                  Модерация комментариев

5.                  Фильтрация и сортировка данных

  1. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС ПО

Пользовательский интерфейс ПО предназначен для быстрого и последовательного перехода к разделам ПО и состоит из следующих компонентов:

  1. Авторизация;
  2. Регистрация;
  3. Главная страница;
  4. Разделы: Авто, Работа, Недвижимость, Видео, Погода, Афиша, Объявления, Гороскоп, Знакомства, Транспорт, Карта
  5. Поиск по сайту;
  6. Уведомления;
  7. Категории новостей.

  1. ФУНКЦИИ КОМПОНЕНТОВ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА ПО
  1. Авторизация

Функционал данного компонента ПО предусматривает возможность ранее зарегистрированному пользователю ПО ввести логин и пароль для авторизации (идентификации) на портале.

  1. Регистрация

При желании пользователя идентифицировать себя в целях получения дополнительного функционала ПО. Для регистрации необходимо ввести электронный адрес (e-mail), никнейм пользователя и пароль. Альтернативным способом регистрации является авторизация посредством аккаунтов других веб-порталов (ВКонтакте, Google и др.)

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

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

  1. Разделы: Авто, Работа, Недвижимость, Видео, Погода, Афиша, Объявления, Гороскоп, Знакомства, Транспорт, Карта

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

  1. Поиск по сайту

Компонент позволяет осуществить поиск по ключевым словам с выдачей наиболее релевантных результатов.

  1. Уведомления

Компонент предусматривает возможность пользователю ознакомиться с важными новостями деятельности портала.

  1. Категории новостей

Функционал компонента дает возможность пользователю ПО выбрать темы или категории для отображения новостей по избранным тематикам.

        

  1. ТЕХНОЛОГИИ

Архитектура ПО построена на следующих технологиях:

№ п/п

Технологический элемент

Область применения

1.

Heaver

Система оркестрации контейнеров

2.

Registry

Система хранения образов контейнеров.

3.

Nginx + OSPF

Балансировка входящих, а также межсервисных запросов.

4.

Archlinux

5.

MariaDB

Реляционная база данных для хранения структурной информации.

6.

MongoDB

NoSQL база данных, для хранения неструктурированной информации

7.

PHP

Основной язык разработки

8.

Composer

Менеджер пакетов

9.

Elasticsearch

Основной поисковый движок

10.

Memcached

Кэширование данных

11.

Redis

Кэширование данных, персистентное

12.

Rabbitmq

Message broker (блокировка сообщений)

13.

Nodejs, VUE

Основной язык разработки FE

14.

Nginx WEBDAV

Хранилище файлов