Написать с нуля микросервис
Цена договорная
Мы пишем с нуля систему поиска данных по юрлицам.
Есть верхнеуровневая архитектура в которой 7 разных микросервисов.
1,2 микросервисы - это API для получения данных и сохранения в Postgres = dadata, ЕРГЮЛ ;
3 - домейнгуд – через API, есть домены и есть данные которые нужно сохранять в Postgre
4 – домейнмонитор – через API, просто собирает домены для п5.
5-ый - сбор HTML среза сайта в текущий момент и сохранение его в ClickHouse (мы подумали что ClickHouse сэкономит нам место потому что собираемся сохранять архив сайта каждые 2 недели) (slicer)
6 - парсит данные от slicer (5-ый сервис) - то есть ходит в ClickHouse достает HTML сохраненный там, парсит его - достает данные сайта по определенным параметрам и кладет в Postgres.
7-ой микросервис - тонкий клиент который ходит в Postgres и делает полнотекстовый поиск по данным собранным другими сервисами; сводит это в эксель таблицу
Хотим работающие микросервисы - по 200=300 строк кода + метрики + чтение конфигурации из переменных среды + доккер + чтобы логи было можно прочитать за все время. Без ООП, оптимизаций и прочего сахара - просто чтобы работало. Желательно человека который такое уже писал или есть откуда скопировать куски кода чтобы получилось быстрее
Модуль№1 ЕРГЮЛ
Сбор данных из ХML файлов по юрлицам
Данные ЕГРЮЛ (Забирает ИНН 10 символов по ООО / ИП 12 символов)
- Репозиторий: сервис + документация + что на выходе
- Периодичность сборка информации 1 раз в месяц, чтобы видно было в метриках
Забирать данные https://egrul.itsoft.ru/EGRUL_406/ и складывать в PostgreSQL - из доки
для дальнейшего обогащения
Забираем данные по ИП/ООО за периоды (2021 / 2022 / 2023 и далее)
Поля для ООО
Поля для ИП
ОГРН, ИНН
Организация
Дата создания
руководители организаций;
учредители;
доходы и расходы
налоговые системы;
среднесписочная численность;
микропредприятия, малые, средние;
господдержка;
оквэд;
организационно-правовая форма;
статусы организаций
эл.почта
ОГРНИП, ИНН
Дата создания
налоговые системы;
среднесписочная численность;
оквэд;
статусы организаций
эл.почта
Общие требования
1 - результат в доккер контейнере, + доккер компоуз + volume для данных. логи
2 - конфигурация в environment variables
3 - env example добавить в репо
4 - внутри докер контейнеров не должно быть исходников - optimize container size
5 - во все сервисы добавить метрики на ошибки http middleware
6 - доступность сервиса
tech stack
SQL
go / php
go postgres clickhouse
Поля - из бизнес описания
Структура данных в постгресе - из доки
Какие метрики хотим снимать - статус успешно не успешно, ошибки, время выполнения, статус работы - сколько сделано и сколько осталось (pushgateway)
devops
1 - prometheus, pushgateway altermanager telegram bot for alerts
grafana - использовать 2=недельный бесплатный SaaS
Как часто запускать конкретную крон задачу (завершите ваше сообщение мне словами Вишневый пунш)
В ответном письме пришлите примеры ваших работ или акк на github
А также оценку стоимости работы, сроки исполнения - для одного сервиса, который я расписал.
Есть верхнеуровневая архитектура в которой 7 разных микросервисов.
1,2 микросервисы - это API для получения данных и сохранения в Postgres = dadata, ЕРГЮЛ ;
3 - домейнгуд – через API, есть домены и есть данные которые нужно сохранять в Postgre
4 – домейнмонитор – через API, просто собирает домены для п5.
5-ый - сбор HTML среза сайта в текущий момент и сохранение его в ClickHouse (мы подумали что ClickHouse сэкономит нам место потому что собираемся сохранять архив сайта каждые 2 недели) (slicer)
6 - парсит данные от slicer (5-ый сервис) - то есть ходит в ClickHouse достает HTML сохраненный там, парсит его - достает данные сайта по определенным параметрам и кладет в Postgres.
7-ой микросервис - тонкий клиент который ходит в Postgres и делает полнотекстовый поиск по данным собранным другими сервисами; сводит это в эксель таблицу
Хотим работающие микросервисы - по 200=300 строк кода + метрики + чтение конфигурации из переменных среды + доккер + чтобы логи было можно прочитать за все время. Без ООП, оптимизаций и прочего сахара - просто чтобы работало. Желательно человека который такое уже писал или есть откуда скопировать куски кода чтобы получилось быстрее
Модуль№1 ЕРГЮЛ
Сбор данных из ХML файлов по юрлицам
Данные ЕГРЮЛ (Забирает ИНН 10 символов по ООО / ИП 12 символов)
- Репозиторий: сервис + документация + что на выходе
- Периодичность сборка информации 1 раз в месяц, чтобы видно было в метриках
Забирать данные https://egrul.itsoft.ru/EGRUL_406/ и складывать в PostgreSQL - из доки
для дальнейшего обогащения
Забираем данные по ИП/ООО за периоды (2021 / 2022 / 2023 и далее)
Поля для ООО
Поля для ИП
ОГРН, ИНН
Организация
Дата создания
руководители организаций;
учредители;
доходы и расходы
налоговые системы;
среднесписочная численность;
микропредприятия, малые, средние;
господдержка;
оквэд;
организационно-правовая форма;
статусы организаций
эл.почта
ОГРНИП, ИНН
Дата создания
налоговые системы;
среднесписочная численность;
оквэд;
статусы организаций
эл.почта
Общие требования
1 - результат в доккер контейнере, + доккер компоуз + volume для данных. логи
2 - конфигурация в environment variables
3 - env example добавить в репо
4 - внутри докер контейнеров не должно быть исходников - optimize container size
5 - во все сервисы добавить метрики на ошибки http middleware
6 - доступность сервиса
tech stack
SQL
go / php
go postgres clickhouse
Поля - из бизнес описания
Структура данных в постгресе - из доки
Какие метрики хотим снимать - статус успешно не успешно, ошибки, время выполнения, статус работы - сколько сделано и сколько осталось (pushgateway)
devops
1 - prometheus, pushgateway altermanager telegram bot for alerts
grafana - использовать 2=недельный бесплатный SaaS
Как часто запускать конкретную крон задачу (завершите ваше сообщение мне словами Вишневый пунш)
В ответном письме пришлите примеры ваших работ или акк на github
А также оценку стоимости работы, сроки исполнения - для одного сервиса, который я расписал.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.