39b45567a1
- вычищен бренд из деки/дизайна/README/outline (нейтральные --brand токены) - слайд 1: «на разных языках» вместо «на казахском» - убрана лишняя угловая плашка в презентации Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
38 lines
2.1 KiB
Markdown
38 lines
2.1 KiB
Markdown
# medtech-hackathon
|
||
|
||
Terricon Valley · Medtech Hackathon (26–28.06.2026) · **Кейс 1 — автоматическая обработка архива прайсов клиник-партнёров.**
|
||
|
||
Превращаем архив разнородных прайс-листов клиник (Excel / PDF / скан / фото / .doc, RU/KZ/EN, грязные данные) в единый сравнимый каталог **услуга → клиника → цена** с поиском, сравнением цен и экспортом.
|
||
|
||
## Стек
|
||
|
||
- **ETL/бэкенд:** Python + FastAPI (pandas для Excel, LLM-vision для грязного, pdfplumber, Tesseract `kaz+rus` fallback)
|
||
- **Канонизация услуг:** sentence-transformers + pgvector + детерминированная матрица конфликтов (см. словарик)
|
||
- **БД:** PostgreSQL + pgvector
|
||
- **Фронт:** Next.js + Tailwind + shadcn/ui (дизайн на фирменной палитре)
|
||
- **Деплой:** Docker Compose + Caddy → `med.secondbrain.tools` (Selectel KZ)
|
||
|
||
## Языки
|
||
|
||
KAZ / RUS / ENG — сквозное требование (данные и UI).
|
||
|
||
## Структура (план)
|
||
|
||
```
|
||
contracts/ — модель данных + Zod-схемы + openapi.yaml (агент A)
|
||
db/ — миграции (агент A)
|
||
etl/ — парсинг и нормализация (агент B)
|
||
api/ — REST API поиска/сравнения (агент C)
|
||
web/ — Next.js UI (агент D)
|
||
infra/ — docker-compose, Caddyfile (агент E)
|
||
docs/ — документация, ADR (агент F)
|
||
pitch/ — слайды и демо-сценарий (агент F)
|
||
fixtures/ — синтетические + эталонные данные
|
||
```
|
||
|
||
Скелет кода поднимается в Фазе 0 хакатона после заморозки контрактов.
|
||
|
||
## Полный план
|
||
|
||
В хранилище Obsidian: `Base/_Inbox/Хакатон Medtech/` (план, словарик нормализации, дизайн-система, памятка).
|