Бюджет: 27000 UAH Термін: 30 днів
Доброго дня,
Прочитав ТЗ уважно. Це не Telegram-бот — це ETL-платформа з ботом як одним із виходів. Саме так і буду будувати.
— — —
🔧 СТЕК
— — —
Python 3.12 + FastAPI (async)
PostgreSQL + SQLAlchemy 2.0 + Alembic
aiogram 3.x + FSM для команд бота
Celery + Redis — черга для polling Prozorro
Docker Compose — весь проєкт в одній команді
pgvector — одразу в схему, під майбутній AI-пошук
— — —
🏗 АРХІТЕКТУРА MVP
— — —
Fetcher-воркер → інкрементальна синхронізація по dateModified (не повний перебір — це критично для швидкості)
Дедуплікація → composite PK: tender_id + revision + lot. Історія змін не "пливе"
Фільтрація → на рівні PostgreSQL: GIN-індекси по CPV array, Full-Text Search по ключових словах. Не в Python, а в БД — швидко і масштабовано
Два workflow одразу:
• Активні тендери (подати заявку)
• Контракти/ліди (хто вже купував)
Аналітика → окремий шар materialized views: переможці, % зниження ціни, статистика по ЄДРПОУ конкурентів, статистика замовників. Не навантажує основний backend
Тelegram-бот → легкий клієнт поверх API: /start /settings /keywords /cpv /region /last — через FSM aiogram 3
Дедуплікація сповіщень → таблиця notifications: одне push на пару user_id + tender_revision. Без спаму
— — —
📊 ЩО ОТРИМАЄТЕ НА MVP
— — —
✅ Інтеграція Prozorro API (тендери + контракти)
✅ Фільтрація: CPV, ключові слова, регіон, сума, замовник, дедлайн
✅ PostgreSQL з історією змін і захистом від дублів
✅ Telegram-бот з усіма командами та FSM-налаштуваннями
✅ Аналітика: переможці, учасники, % зниження, конкуренти по ЄДРПОУ
✅ Docker Compose — деплой одною командою
✅ pgvector в схемі — готово під AI без переписування
✅ Alembic міграції + pytest покриття критичних модулів
— — —
🚀 ПІСЛЯ MVP (вже закладено в архітектуру)
— — —
AI-аналіз тендерної документації через OpenAI + RAG
Пошук афілійованості через ЄДРПОУ-зв'язки
Web dashboard
CRM-логіка і постановка задач
— — —
💰 ВАРТІСТЬ І ТЕРМІНИ
— — —
MVP: 32 000 грн
Термін: 3-4 тижні
Чому не 25 000 як усі? Бо правильна архітектура з першого разу коштує дорожче, ніж переписувати двічі.Я даю MVP з правильним фундаментом за адекватні гроші.
— — —
❓ ДВА ПИТАННЯ ДО ВАС
— — —
1. CPV-коди фіксовані чи користувач додає через бота? Це впливає на модель даних.
2. Потрібне історичне завантаження тендерів за 1-3 роки для аналітики, чи стартуємо з поточного моменту?
Готовий розпочати після відповіді.