Выбор стека: Astro, FastAPI, PostgreSQL
Выбор технологий — одно из первых решений, которое определяет всё дальнейшее. Для Steforge стек выбирался по нескольким критериям: простота, производительность, зрелость и пригодность для одиночной разработки.
Публичный контур: Astro
Блог и витрина продуктов — это статический контент. Здесь не нужен React, не нужен Next.js, не нужен серверный рендеринг при каждом запросе.
Astro подходит идеально:
- Content Collections — типизированный контент с валидацией
- MDX — интерактивные компоненты прямо в статьях
- Статическая генерация — быстрая загрузка, минимальный хостинг
- Island architecture — JavaScript только там, где нужен
Два домена (steforge.ru и steforge.com) собираются из одного проекта с фильтрацией по языку.
Системный контур: FastAPI + PostgreSQL
Кабинет пользователя, биллинг, каталог приложений — это уже бэкенд. Здесь выбор пал на Python:
- FastAPI — быстрый, типизированный, асинхронный
- SQLAlchemy Async — ORM с поддержкой async/await
- Alembic — миграции базы данных
- PostgreSQL — надёжная СУБД, хранение в РФ
Почему не монолит
Каждый MVP в экосистеме — отдельный сервис. Это сознательное решение:
- Один упавший MVP не роняет остальные
- Каждый сервис можно обновлять независимо
- Проще контролировать расходы по каждому продукту
Gateway маршрутизирует трафик, auth и billing централизованы.
Proxy-контур
Все исходящие вызовы к внешним API проходят через api-broker. Это позволяет:
- Фильтровать payload перед отправкой
- Маскировать персональные данные
- Логировать метаданные вызовов
- Управлять провайдерами централизованно
Подробнее о proxy — в продуктовой странице API Proxy.