Mail parsing project
Тест парсинга писем из Яндекса
Задание:
https://docs.google.com/document/d/1miCh5NpEtv_QTI5fJqx0R90O0SXP3lvc6xFcDkqVJZ8/edit#
Mail parsing Материалы Projects-production-18.11.2016.sql - существующая БД с частью записей
Почта, на которой лежит недостающая часть записей http://mail.siberian.pro Login: mailparsing Passwd: LftimVjkjlt;m
Вводная В БД есть проекты, у проекта есть посты, у поста есть автор. Письмо - это дайджест за прошедший день. Т.е. если письмо от 08.06.2017, то записи, попавшие в этот дайджест, от 07.06.2017. Если дайджест пришел в понедельник, значит записи в нем - за субботу и воскресенье и в этом случае для простоты датируем эти записи субботой. За один день записей к одному проекту может быть больше чем одна, причем как от одного автора, так и от разных. Все письма лежат в указанной почте в виде вложений к 4-м письмам (EML). Каждый дайджест формируется для конкретного юзера и формируется только из тех проектов, на которые он подписан. Иными словами: дайджест юзера 1 может частично пересекаться с дайджестом юзера 2 и практически полностью совпадать с дайджестом юзера 3.- вариации совершенно любые.
Задача Необходимо вытащить из почты вложения, распарсить их на дайджесты-->проекты-->посты и сложить в БД. Условия Если встретили нового пользователя в дайджесте - необходимо его добавить в БД (привязку к проектам делать не обязательно, но привязку к постам - обязательно). Если встретили новый проект в дайджесте - необходимо его добавить в БД. Форматирование поста не изменяем.
Плюсом будет, если записи в БД будут вставлены согласно их дате (чтобы при сортировке по ИД и по дате - результат был идентичным). Требования Framework: в приоритете Yii2 (допускается: Symfony, Laravel). Результатом является дамп заполненной данными БД и код, выполняющий это заполнение. Как будет реализовано приложение - на ваше усмотрение (консоль, веб, бот, etc). К коду необходимо приложить инструкцию по установке. Разрешается использование любых доступных в сети библиотек. Оцениваться будет правильность заполнения БД, подход к решению задачи, используемый набор библиотек и аккуратность в коде.
Почта:
https://mail.yandex.ru/?uid=1130000024505365&login=mailparsing#inbox?showDatePager=yes