О проекті:
Ми створюємо ліцензований self-hosted продукт (SaaS) для автоматизації, маршрутизації та валідації трафіку у висококонкурентних вертикалях (Fintech, iGaming, Crypto). По суті, це високошвидкісна Traffic Distribution System (TDS) з модулями автологіна, каскадного роутінгу та симуляції відбитків (Spoofing).
Ситуація в команді:
У нас вже є сильний Middle/Senior продуктовий розробник (Ілля), який чудово закриває завдання з бізнес-логіки: кабінети, ролі (SuperAdmin, Owner, Buyer), інтеграції зовнішніх API брокерів та інтерфейси.
Мені потрібен Техлід / Архітектор, який вибудує для нього високонавантажений фундамент, візьме на себе серверну інфраструктуру і стане абсолютним "гейткіпером" якості коду.
🎯 Ваша перша задача (Milestone 1): Базова архітектура шлюзу та CI/CD
Перш ніж ми почнемо реалізовувати продуктові фічі та переносити старий код, нам потрібно закласти правильний фундамент.
Технічний стек ядра:
* Фреймворк: Litestar + msgspec (для максимальної швидкості серіалізації DTO).
* Web-сервер: Granian (Rust-based ASGI worker).
* СУБД і Кеш: PostgreSQL (asyncpg + SQLAlchemy 2.0), Redis.
* Інфраструктура: Docker, GitHub Actions.
Що конкретно потрібно зробити на першому етапі:
* Проектування чистої архітектури на GitHub:
* Реалізувати шарувату структуру проекту (API, Domain, Services, Infrastructure) спеціально під майбутній перенесення бізнес-логіки другим розробником.
* Налаштувати базовий ієрархічний роутинг Litestar та шаблони DTO.
* Контейнеризація (Docker):
* Написати Dockerfile для збору легковісного образу з Granian.
* Підготувати docker-compose.yml для локального запуску зв'язки: App + PostgreSQL + Redis.
* Гейткіпінг та CI/CD:
* Налаштувати Branch Protection для гілки main: заборона прямих push-ів.
* Написати пайплайн GitHub Actions на Pull Requests (лінтер Ruff, типізація MyPy, базові тести Pytest). Пайплайн має блокувати Merge при помилках. Увесь код продуктового розробника проходитиме через ваше Code Review.
* Developer Experience (DX):
* Оформити детальний README.md з інструкціями для команди (як розгорнути проект, як запустити тести, правила написання коду в новому стеці).
✅ Критерії приймання (Definition of Done) першого етапу:
* Архітектура залита в наданий приватний репозиторій GitHub.
* Проект без помилок стартує локально через docker-compose up.
* Доступний тестовий /health ендпоінт, відповідь від якого віддає сервер Granian.
* При створенні Pull Request'а з помилкою лінтера або типізації — GitHub Actions коректно це відловлює і не дає зробити Merge.
Для відгуку:
Будь ласка, коротко опишіть ваш досвід роботи з High-Load системами або в нішах AdTech/Арбітражу, а також дайте вашу оцінку по термінам і бюджету за реалізацію цього першого Milestone.