Выбор стека: 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.