# Стек технологий системы

"Первая Форма" построена на наборе технологий, охватывающем backend, frontend, работу с данными и инфраструктуру.

**Backend & Языки программирования**

**.NET 10 / C# 14, ASP.NET Core** — Основная платформа для серверной разработки. Бэкенд построен на ASP.NET Core с ~57 модулями Valhalla.* и ~1515 API-эндпоинтами.

**MS SQL Server 2019+ / PostgreSQL 16+** — Поддерживаемые СУБД (dual-database support). Основное хранилище данных приложения.

**SignalR** — Библиотека для организации real-time коммуникации между сервером и клиентом (обрабатывается через Service Worker).

**Redis** — Высокопроизводительное хранилище структур данных типа "ключ-значение". Используется для кэширования, управления сессиями и работы с очередями сообщений.

**Python** — Используется в контексте DevOps для создания вспомогательных скриптов, инструментов автоматизации, развертывания и управления инфраструктурой.

**Frontend**

**Angular** — Основной фреймворк для построения сложных и структурированных клиентских Single Page Applications (SPA). [1F-SPA](https://help.1forma.ru/maintenance_guide/system-services/1f-spa.md) поставляется вместе с веб-сервером Nginx для раздачи статического контента (HTML, JS, CSS) и, при необходимости, проксирования запросов к backend. SPA может работать в двух режимах: Standalone (только статика, без прокси) и Reverse Proxy (статика + проксирование API на Core).

**JavaScript** — Основной язык программирования.

**jQuery** — Библиотека применяется ограниченно, в основном в унаследованных частях системы или для решения специфических задач, связанных с Типовыми решениями (ТС).

**Работа с данными и кэширование**

**Redis** — см. выше (раздел Backend).

**Сетевые протоколы и коммуникация**

**WebSocket (wss)** — Протокол для обеспечения полнодуплексной связи между клиентом и сервером в реальном времени. Используется для функций, требующих мгновенного обновления данных.

**WebDAV** — Протокол для удаленного управления файлами и совместной работы над документами.

**XML (SOAP)** — Используется для обеспечения совместимости и интеграции с системами или enterprise-сервисами, которые требуют соблюдения стандартов SOAP-веб-сервисов.
