Бюджет: 3500 UAH Срок: 5 дней
Здравствуйте. Готов выполнить проект. Пишите, обсудим подробнее
Здравствуйте уважаемые исполнители, нужно реализовать следующую задачу:
Спарсить email из вакансий на сайте https://ec.europa.eu/eures/portal/jv-se , по списку специальностей и локации “Германия” (список специальностей предоставлю). Возможно будет необходимо использовать Proxy.
Получение email необходимо обработать, для дальнейшей вставки в mongoDB (очень краткое описание, детально ниже):
1.Оставить уникальные emails, повторяющиеся удалить.
2.Проверить валидатором “живые” email, не валидные удалить (есть онлайн API для этого).
3.Получить мейлы из mongoDB и сравнить с полученными, убрав совпадающие email (типа как сравнения таблиц в sql).
Парсер нужно будет “интегрировать к логической системе” , так как парсеров будет несколько и нужно чтобы мейлы всегда были уникальны и не пересекались с мейлами из других парсеров (процедура отсеивания дублей).
Детально и пошагово как всё должно работать описано здесь (при выборе исполнителя продублирую эту инструкцию в личку):
https://docs.google.com/document/d/1pHPi4xTbIzfCVyoaQc3FQcu4M2TGA5CHJGVLumOIDEQ/edit?usp=sharing
Если будет необходима дополнительная информация, можем созвониться, так как система может показаться немного запутанной, но на самом деле сам парсер это 80% работы, остальное просто получение данных/ отсеивание / запись.
Требования к исполнителю:
1. Знание технологии на которой будет писаться парсер, на должном уровне и соответственно опыт работы;
2. Опыт работы с парсерами;
3. Mongodb (в нем храниться весь результат работы парсеров);
4. Опыт работы с установкой и настройкой VPS;
Просьба делать всё аккуратно, так на vps уже есть другие парсеры написаны на Pyton и запущены процессы. Также установлен и настроен cron для ежедневного запуска парсеров и дополнительных функций.
Бюджет на проект не большой, но работа не одноразовая, так как надо еще будет написать аналогичные парсеры, их функционал и логика будет аналогичным как описано выше, только другой сайт.
Просьба также указать используемые технологии для парсинга.
Спасибо за внимание, жду ваших предложений.
Бюджет: 3500 UAH Срок: 5 дней
Здравствуйте. Готов выполнить проект. Пишите, обсудим подробнее
Есть действующая production-платформа с каталогом и автоматическим обновлением внешних предложений и цен. Стек: — Node.js / TypeScript; — PostgreSQL; — существующий price refresh service и cron; — отдельный готовый Python-модуль валидации и выбора предложений; — staging и production. Необходимо точечно доработать существующий price refresh pipeline без полного переписывания backend. ОБЯЗАТЕЛЬНЫЙ SCOPE 1. Интеграция Python-модуля — Python-модуль остаётся отдельным компонентом; — возвращает структурированный результат: offers, selected offer, statuses и risk flags; — Node.js валидирует результат и выполняет запись в БД; — предусмотреть обработку ошибок и partial/failed runs; — legacy pipeline не отключается до завершения QA. 2. Запуск refresh по списку Добавить запуск: — по одному slug/id; — по переданному списку slug/id. Допустим CLI или существующий служебный API. Новый пользовательский интерфейс не требуется. 3. Shadow Mode Новые результаты должны записываться отдельно и не влиять на production до QA. Требуются shadow-поля: — price; — selected offer ID; — direct URL; — offer status; — risk/QA flags; — checkedAt; — engineVersion. 4. Расширение существующей таблицы offers Добавить: — source; — external_offer_id; — last_seen_at; — last_checked_at; — engine_version; — risk flags либо хранение в существующем JSON; — unique constraint для защиты от дублей. Новую параллельную offer-систему создавать не требуется, если существующую таблицу можно безопасно расширить. 5. UPSERT, STALE и DB transaction Заменить текущую схему DELETE → CREATE: — UPSERT существующих и новых offers; — отсутствующие в полном успешном snapshot offers переводятся в STALE; — при API error, partial result или незавершённом snapshot активные offers не должны становиться STALE; — обновление offers, selected offer metadata и shadow fields по одной модели выполняется внутри одной DB transaction; — при ошибке выполняется полный rollback. 6. Canonical-safe refresh Price refresh не должен изменять: — brand; — reference; — model; — collection; — name/title; — slug; — descriptions; — images; — SEO fields. Обновляются только offer, price и shadow data. 7. Сохранение текущей cron-логики Сохранить: — existing cron; — rolling batches; — cooldown; — проверку PRICE_REFRESH_MIN_DAYS до вызова внешнего API; — legacy production pipeline до завершения Shadow QA. 8. Audit output Достаточно одного варианта: — shadow-колонки в существующей admin table; или — CSV export. Минимальные данные: — model/reference; — production price; — shadow price; — delta; — production/shadow URL; — status; — risk flags; — checkedAt; — engineVersion. Новый сложный dashboard не требуется. 9. Staging и QA — DB migrations; — staging deployment; — smoke test на 5 переданных моделях; — затем Shadow Mode приблизительно на 50 моделях; — исправление технических ошибок, выявленных во время этих прогонов; — краткая документация контракта Python → Node.js и rollback procedure. ОПЦИОНАЛЬНО ОЦЕНИТЬ ОТДЕЛЬНО Простой технический promotion без нового UI: — promotion одной модели по slug; — promotion списка slug; — перенос подтверждённых shadow values в production; — техническая проверка после rollout. РЕЗУЛЬТАТ — Pull Request; — DB migrations; — рабочая интеграция Python → Node.js; — Shadow Mode; — UPSERT, STALE и транзакционное обновление; — запуск по slug/id; — staging deployment; — smoke-test results; — краткая документация; — не менее 7 дней исправления багов по реализованному scope после приёмки. В ОТКЛИКЕ УКАЗАТЬ 1. Fixed price за обязательный scope. 2. Отдельную стоимость promotion-механизма. 3. Срок. 4. Оценку часов. 5. Когда готовы начать. 6. Опыт с PostgreSQL transactions, migrations и ingestion pipelines. 7. Какие вопросы нужно уточнить до начала. 8. Включены ли staging, QA, migrations и bug-fix period. Шаблонные ответы без конкретной оценки рассматриваться не будут. Доступ к production на первом этапе не предоставляется. Работа начинается с ограниченного code review и staging.
Необходимо разработать централизованную серверную систему сбора и хранения данных из Planfix, 1С, Meta Ads и Google Ads, а также веб-дашборд для их отображения и анализа. Все данные, история изменений, расчеты и агрегированные показатели должны храниться исключительно в серверной базе данных. Дашборд не должен хранить или дублировать бизнес-данные. Он должен получать необходимую информацию из серверной базы через API в соответствии с запросами пользователя и отображать ее в виде KPI, графиков, таблиц и детализированных отчетов.
Ищем для поддержки проекта на базе Yii , нужно вносить правки и доработки базы, частично есть связь с предыдущим исполнителем .....................
Необходимо сделать миграцию базы из CRM G-PLUS на MyChatBot Объем базы - 26 тыс. лидов 2 воронки - Кол центр и Отдел продаж со своими воронками Карточки лидов (кроме имени и номера) имеют много различных полей Лиды также имеют голосовые записи звонков. Их также нужно перенести От кандидата ожидаю ориентировочную сумму и сроки реализации
Создать дашборд для мониторинга и анализа эффективности сети локаций (филиалов) компании в Google Business Profile (GBP) через официальный Google Business Profile API. Обработка через Скрипт на базе Google Apps Script (привязать к Google Таблице). Запись данных в Google Таблицу (которая выступает как база данных для Looker Studio). Обновление: Ежедневно (с индикацией даты последнего обновления). Создать сервисный аккаунт Google Cloud Скрипт раз в сутки (триггер в 03:00 ночи) отправляет запрос к GBP API. Получает метрики за вчерашний день по каждой локации (locationId). Записывает данные в таблицу в плоском формате (строка = уникальное сочетание Дата + ID Филиала + Метрики). Карточки ключевых показателейНазвание карточкиМетрика GBPФормат динамикиПросмотры профиляImpressions (Search + Maps)Процент %, Sparkline (синий)ЗвонкиLocal Services Phone CallsПроцент %, Sparkline (зеленый)Переходы на сайтWebsite ClicksПроцент %, Sparkline (фиолетовый)Построение маршрутовDirection RequestsПроцент %, Sparkline (оранжевый)Средний рейтингAverage Review RatingАбсолютное изменение (например, +0.1), Sparkline (желтый)Новые отзывыNew Reviews CountПроцент %, Sparkline (бирюзовый)