architect/_archive/2025-11-cleanup/platform-v2-cifra/03_ARCHITECTURE.md

CIFRA — Архитектура платформы

Версия: 2.0.0
Дата: 2025-11-10


10 архитектурных viewpoints

1. CONCEPTUAL — Почему?

2. BUSINESS — Кто, какие процессы?

3. FUNCTIONAL — Что делает?

4. INFORMATION — Какие данные?

5. APPLICATION — Как построено?

UI → API → Business Logic → Data Access → Database

Patterns: Repository, Factory, Observer

6. TECHNOLOGY — На чём?

7. PHYSICAL — Где развёрнуто?

8. SECURITY — Как защищено?

9. INTEGRATION — С чем?

10. UI/UX — Как выглядит?


Технический стек

Backend:

Language: Python 3.11+
Framework: FastAPI 0.104+
ORM: SQLAlchemy 2.0+
Validation: Pydantic 2.0+

Database:

Primary: PostgreSQL 15+
Cache: Redis 7+
Search: Elasticsearch 8+
Queue: Redis (Celery)

Frontend:

Framework: React 18+ / Vue 3+
Language: TypeScript 5+
Styling: TailwindCSS 3+
State: Redux / Pinia

DevOps:

Containers: Docker 24+
Orchestration: Kubernetes 1.28+
CI/CD: GitHub Actions / GitLab CI
Monitoring: Prometheus + Grafana

Компоненты платформы

┌──────────────────────────────┐
│   CIFRA STUDIO (Visual)      │
│   Drag & Drop Builder        │
└──────────────────────────────┘
              ↓
┌──────────────────────────────┐
│   CIFRA CLI                  │
│   $ cifra generate/run       │
└──────────────────────────────┘
              ↓
┌──────────────────────────────┐
│   CODE GENERATOR             │
│   Python + TypeScript        │
└──────────────────────────────┘
              ↓
┌──────────────────────────────┐
│   CIFRA ENGINE (Runtime)     │
│   Entity + Permission +      │
│   Process + Event + Cache    │
└──────────────────────────────┘
              ↓
┌──────────────────────────────┐
│   DATABASE LAYER             │
│   PostgreSQL + Redis         │
└──────────────────────────────┘

Паттерны проектирования

Creational:
- Factory: EntityFactory, FieldFactory
- Builder: QueryBuilder, FormBuilder
- Singleton: Cache, EventBus

Structural:
- Composite: Entity hierarchy
- Decorator: Field validators
- Facade: API simplified interface

Behavioral:
- Observer: Event system
- Strategy: Permission strategies
- Template Method: CRUD operations


Следующий документ: LANGUAGE_SPECIFICATION.md →