Roman Serebrak
Переможець- Проєкти 44
- Оцінка -
- Рейтинг 1 816
Бюджет: 3000 UAH Термін: 5 днів
Як я бачу:
1 . Потрібно придбати хостинг з MySQL або MsSQL
2 . На хостингу створити базу даних, де будуть складатися записи з Prozorro за тендерами
2 . Створіть фоновий сріпт, який за графіком буде запущений і завантажувати нові записи в БД.
Приблизно так я бачу.
Бюджет: 1000 UAH Термін: 1 день
Добрий день. Можна спробувати декілька варіантів отримання данний
Думаю найкращий буде вивантажувати данні у якусь базу данних і звідти забирати данні у power BI
Зможу написати скрипт на PHP який буде завантажувати у БД потрібні данні і потім вже забірати їх у power BI
Ціну вказав за 1 день роботи
Ставки поки відсутні
-
Микола Є. 29 червня 2022Вы хотите с помощью Power BI собрать данные по тендерам и сделать из них базу данных? Чтобы потом что? Хранить её или анализировать?
-
Микола Є. 29 червня 2022По описания задачи выглядит как: получить данные из базы, которую сначала нужно заполнить. То есть первый этап - вытянуть все, а второй этап - уже фильтровать по заданным вами критериям и выдавать результат.
Теоритически можно с помощью динамических фильтров попытаться решить, но именно чтоб их передавать из Power BI через API в Prozorro не представляю как можно, послушал бы и сам такое, если кто возьмется.
-
Олександра Карпенко
29 червня 2022
Если вы знаете как подключить MS POWER BI к базе полностью (учитывая что я на ноутбуке работаю), меня это тоже устроит. Если тендера будут в том виде как пример из одного, я уже смогу фильтровать что мне надо.
-
Микола Є. 29 червня 2022Еще раз спрошу, - по первой ссылке мы можем получить списки тендеров, вам нужны ведь они все? Или какое то конечное количество?
И далее имея этот список тендеров, вы хотите задавать параметры Дата и Заказчик и уже получать полные описание тендеров только по этим двум фильтрам?
-
Олександра Карпенко
29 червня 2022
Первая ссылка - для меня бесполезна. Это просто перечень тендеров без данных по самим тендерам.
В итоге я хочу иметь таблицу с тендерами (и данными по ним) как по ссылке 3 (https://public.api.openprocurement.org/api/2.3/tenders/c52d2426c4fc43c79764187c23279aff). Если это будет вся база - мне кажется это многовато для простого компьютера (может я и не права, и компьютер в состоянии это потянуть). Поэтому хочу понимать как можно заранее этот список отфильтровать на примере двух параметров.
-
Yevhenii V. 29 червня 2022Александра, я с прозорро давно имею дело, есть собранная информация за определенный период. по каким критериям вам нужны тендеры и какая инфа вам нужна? вполне возможно, что у меня уже есть готовая база..
-
Олександра Карпенко
29 червня 2022
Мне важно отслеживать изменения. Я раньше работала через сервис zakupki.prom.ua. У них по критериям формируются excel файлы, которые я подключала к Power BI. Но, во-первых, сложно обновлять, во-вторых, они иногда меняют структуру отчетов, и моя модель данных постоянно слетает. Поэтому я хочу найти способ подключаться к базе. Мне это сложновато, так как я чисто с аналитикой работаю.
-
Микола Є. 29 червня 2022Александра, пробежался ещё раз по документации API "Отримання інформації про закупівлі" и совершенно не нашел там способов передать в запрос к их базе те параметры-фильтры, которые Вы хотите реализовать "на лету". Можно конечно обратиться за подсказкой к разработчикам, но я не думаю что они бы их скрывали в документации, если бы это было реализовано. Но я могу ошибаться. Возможно есть способ это сделать.
Но скорее всего (и правильнее) было бы реализовать задачу в виде создания у вас локальной копии базы с постоянной синхронизацией с источником, и об этом пишут сами разработчики, а уже на следующем этапе естественно можно из локальной базы брать запросами через Power Query только нужную вам для текущего отчета информацию с необходимыми фильтрами. Над этим можно подумать и проработать этот вариант.
-
Олександра Карпенко
29 червня 2022
Спасибо, я готова рассматривать все варианты. Вы бы взялись за это?
-
Микола Є. 29 червня 2022Думаю, что это можно реализовать.
Но давайте завтра ещё доработаю вариант с запросом с фильтрами к первоисточнику
-
Олександра Карпенко
29 червня 2022
Жду тогда вердикт по обращению к первоисточнику) а дальше будем смотреть. Спасибо
-
Yevhenii V. 29 червня 2022всего 14 493 734 тендера на данный момент... это по поводу локальной копии...
-
Олександра Карпенко
29 червня 2022
Подозреваю что это много) Но удобнее может копию на удаленном сервисе сделать? Чтобы я могла с любого компьютера обращаться
-
Микола Є. 30 червня 2022Можно и так). Но можно попробовать по датам все таки забрать кусок, порциями по 100. Если вам не все исторические даты нужны
-
Олександра Карпенко
30 червня 2022
Там можно лимит и 1000, и подозреваю больше задать. https://public.api.openprocurement.org/api/2.3/tenders?limit=1000 Но опять же, это просто перечень тендеров, без данных по ним.
-
Микола Є. 30 червня 20221000 - это максимум, уже перепробовали)
И начинает оно отдавать с самых старых записей, аж с 2015 года. То есть чтобы добраться до самых новых - надо пройти всю базу.
Актуальні фриланс-проєкти в категорії Бази даних та SQL
Є діюча production-платформа з каталогом та автоматичним оновленням зовнішніх пропозицій і цін. Стек: — Node.js / TypeScript; — PostgreSQL; — існуючий сервіс оновлення цін і cron; — окремий готовий Python-модуль валідації та вибору пропозицій; — staging і production. Необхідно точково доопрацювати існуючий pipeline оновлення цін без повного переписування backend. ОБОВ'ЯЗКОВИЙ СКОП 1. Інтеграція Python-модуля — Python-модуль залишається окремим компонентом; — повертає структурований результат: offers, selected offer, statuses та risk flags; — Node.js валідує результат і виконує запис у БД; — передбачити обробку помилок і partial/failed runs; — legacy pipeline не відключається до завершення QA. 2. Запуск оновлення за списком Додати запуск: — по одному 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 для захисту від дублів. Нову паралельну систему пропозицій створювати не потрібно, якщо існуючу таблицю можна безпечно розширити. 5. UPSERT, STALE і транзакція БД Замінити поточну схему DELETE → CREATE: — UPSERT існуючих і нових пропозицій; — відсутні в повному успішному snapshot пропозиції переводяться в STALE; — при API error, partial result або незавершеному snapshot активні пропозиції не повинні ставати STALE; — оновлення пропозицій, metadata вибраної пропозиції та shadow fields по одній моделі виконується всередині однієї транзакції БД; — при помилці виконується повний rollback. 6. Canonical-safe 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. Фіксована ціна за обов'язковий scope. 2. Окрему вартість механізму promotion. 3. Термін. 4. Оцінку годин. 5. Коли готові почати. 6. Досвід з PostgreSQL transactions, migrations та ingestion pipelines. 7. Які питання потрібно уточнити до початку. 8. Включені чи staging, QA, migrations та період виправлення помилок. Шаблонні відповіді без конкретної оцінки розглядатися не будуть. Доступ до 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 (бірюзовий)