Files
dzentra_bot/docs/architecture/project_structure.md

109 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Структура проекта Dzentra
**Статус:** Current; Build 060.30.3
Документ показывает назначение верхних уровней текущего checkout. Это
навигационная карта, а не полный перечень файлов.
## Корень репозитория
```text
dzentra_bot/
├── app/ Python-приложение, зависимости и тесты
├── docs/ архитектура, runbook, roadmap и история Builds
├── infra/ Dockerfile и Docker Compose
├── scripts/ общие quality-gate и вспомогательные scripts
├── pyrightconfig.json единая конфигурация статической проверки
├── README.md входная страница существующего checkout
└── bootstrap_project.py исторический генератор первоначального каркаса
```
`bootstrap_project.py` не является командой установки или запуска
текущего проекта.
## Каталог `app`
| Путь | Назначение |
|---|---|
| `src/` | Production-код модульного монолита |
| `tests/unit/` | Unit-тесты default offline regression |
| `tests/static/` | Обязательный Pyright gate внутри default pytest |
| `tests/integration/` | Opt-in локальные network/PostgreSQL сценарии |
| `tests/stress/` | Fixed stress и opt-in soak проверки |
| `tests/live/` | Только явно разрешённые проверки внешних endpoints |
| `tests/support/` | Общие test harness и безопасные opt-in helpers |
| `scripts/` | Ручные диагностические scripts |
| `tools/` | Исследовательские Dzengi probes и сохранённые samples |
| `.env.example` | Полный безопасный пример поддерживаемых настроек |
| `requirements.txt` | Прямые Production dependencies |
| `requirements.lock` | Полный hash-locked набор Production image |
| `requirements-dev.txt` | Production dependencies плюс pytest и Pyright |
Диагностические `app/scripts` и `app/tools` не запускаются автоматически
вместе с Production Runtime.
## Пакеты `app/src`
```text
src/
├── bootstrap/ Composition Root и общий lifecycle
├── core/ settings, logging и общие компоненты
├── integrations/ внешние API вне Market Data vertical slice
├── market_data/ acquisition, storage, access и replay
├── notifications/ доставка и маршрутизация уведомлений
├── runtime_events/ внутренняя Runtime Event система
├── shared/ общие вспомогательные компоненты
├── storage/ общий/исторический Storage foundation
├── telegram/ Telegram UI и handlers
├── trading/ торговая бизнес-логика и runtime-компоненты
└── main.py async entry point приложения
```
## Пакет `market_data`
```text
market_data/
├── acquisition/ Canonical models, protocols, validation, Recovery и Runtime
├── storage/ persistent repositories, checkpoint, partitions и Retention
├── access/ Historical Access read-side
└── replay/ Replay plan, deterministic clock и one-shot session
```
Фактические WebSocket Runtime, Consistency/Recovery и persistent writer
consumer существуют только для Trades. REST-потоки Quotes/Candles
продолжают использоваться Trading/UI; их persistence/read-side API
реализованы отдельно.
## Storage ownership
`src/storage` и `src/market_data/storage` не являются взаимозаменяемыми:
| Путь | Фактическая роль |
|---|---|
| `src/storage/session.py`, `schema.py`, `repositories/` | Базовая PostgreSQL-схема журнала и balance snapshots |
| `src/storage/instrument_store.py`, `quote_store.py` | In-memory caches существующих consumers |
| `src/storage/postgres_pool.py`, `migrations.py` | Общая инфраструктура pool/migrations, используемая Market Data Storage |
| `src/market_data/storage/` | Канонические persistent Market Data contracts и repositories |
| `src/market_data/access/` | Отдельный read-side сохранённых данных |
| `src/market_data/replay/` | Отдельная deterministic Replay-вертикаль |
Подробности приведены в [README пакета Storage](../../app/src/storage/README.md).
## Документация
| Каталог | Назначение |
|---|---|
| `docs/architecture/` | Current и target architecture |
| `docs/operations/` | Актуальные эксплуатационные руководства |
| `docs/migrations/` | Architecture/report документов отдельных Builds |
| `docs/roadmap/` | План развития и исторические stage roadmaps |
| `docs/stages/`, `docs/decisions/` | Исторические этапы и решения |
| `docs/market_intelligence/` | Отдельная развиваемая Market Intelligence область |
## Связанные документы
- [Обзор архитектуры](overview.md)
- [Текущая архитектура Trades Feed](trades_feed.md)
- [Эксплуатация Trade Stream Runtime](../operations/trades_feed_runtime.md)
- [Инструкция приложения](../../app/README.md)