Архитектура - GeekBrainsRepository/PersonRank GitHub Wiki

Компоненты

Архитектура

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

  2. Краулер – это служба, которая по определенному расписанию, или принудительно, обращается к сайтам в интернете. Анализирует их на наличие новых страниц. Загружает новые страницы, после чего обрабатывает контент новой страницы. Результаты обработки и ссылку на новую страницу записывает в Базу Данных. Результатом обработки является количество упоминаний имен политиков на странице сайта.

  3. Веб-сервис – транслирует запросы от Мобильного и Десктопного интерфейсов пользователя, в SQL запросы к базе данных. Результат, полученный от запроса, передает обратно Мобильному и Десктопному интерфейсу.

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

  5. Десктопный интерфейс администратор – приложение, разработанное для деcктопной версии Windows. Администратор получает возможность настраивать работу системы, заполнять справочники, а также просматривать общую и ежедневную статистику.

#Модель данных

Модель данных

  1. Persons (личности)– таблица базы данных, отвечающая за хранение имен личностей. Каждой личности соответствует от 0 до бесконечности ключевых слов.

  2. Keywords (ключевые слова)– таблица базы данных, отвечающая за хранение ключевых слов, соответствующих каждой конкретной личности. Встретив какое-либо из ключевых слов на HTML-странице веб-сайта, мы считаем, что встретили упоминание соответствующей ему личности на данной HTML-странице. Каждому ключевому слову соответствует ровно одна личность.

  3. PersonPageRank (рейтинг личности на странице сайта) – таблица базы данных, отвечающая за хранение количества упоминаний каждой личности на обработанной странице.

  4. Pages (страница сайта) – таблица базы данных, содержит страницы сайта, которые были найдены при анализе сайтов из таблицы Sites.

  5. Sites (сайт) – таблица базы данных, содержит названия сайтов для анализа на упоминания.

#Интерфейс для мобильного приложения https://github.com/GeekBrainsRepository/PersonRank/blob/mobile-slave/Mobile_GUI_user/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D1%82%D0%B8%D0%BF_mobile.ep