О проекте:
Мы создаем лицензируемый 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.