Архитектура Web App / БАЗА ЗНАНИЙ
Архитектура веб-приложения: frontend, backend, API и база данных
Архитектура веб-приложения — это не список технологий. Она определяет распределение ответственности, место хранения данных, движение запросов и точки контроля бизнес-правил и безопасности.
Frontend отвечает за взаимодействие
Frontend отображает данные, управляет состоянием интерфейса, принимает ввод и работает с API. Он должен предсказуемо обрабатывать загрузку, ошибки, permissions, валидацию и адаптивность.
Критичные бизнес-правила нельзя оставлять только в браузере, потому что клиентскую логику можно обойти.
Backend отвечает за бизнес-правила
Backend проверяет права и операции, меняет состояние системы, работает с базой данных и координирует внешние сервисы.
Сложные системы проще поддерживать, когда CRM, документы, платежи, аналитика и другие домены имеют чётко разделённую ответственность.
API — это контракт
API должен описывать понятные ресурсы и операции, возвращать предсказуемые ошибки и использовать стабильную модель авторизации.
Хороший API-контракт снижает стоимость будущих интеграций с мобильным приложением, партнёрскими сервисами, CRM и внутренними системами.
Модель данных определяет возможности продукта
До создания таблиц опишите сущности и связи: пользователей, компании, заказы, сделки, документы, статусы и историю изменений.
Слабая модель данных может создать больше проблем, чем выбор frontend framework, поэтому её нужно проверять ещё на discovery.
Проектируйте интеграции с учётом ошибок
Импорт, CRM-синхронизация, генерация документов, webhook и другие длительные операции часто лучше выполнять асинхронно.
Архитектура должна определять retry, идемпотентность, логирование и поведение системы при временной недоступности внешнего API.
Спроектируйте или реализуйте веб-систему
Определите MVP, архитектуру, интеграции, сроки и бюджет до перехода к production development.