Stage 04.1 - storage foundation (PostgreSQL) and system dashboard UI

This commit is contained in:
2026-04-14 21:38:52 +03:00
parent 1deb676585
commit 84f39ade04
16 changed files with 550 additions and 81 deletions

View File

@@ -0,0 +1,15 @@
# 0009 — PostgreSQL for Storage Foundation
## Решение
Сразу строить storage foundation на PostgreSQL, а не на SQLite.
## Причины
- проект ориентирован на рост
- нужны нормальные concurrent writes и server DB
- удобно хранить JSONB payloads
- это снижает риск будущей миграции БД
## Последствия
- dev setup становится чуть сложнее
- зато storage строится сразу на целевой БД
- journal, snapshots и order flow будут развиваться без смены движка

View File

@@ -0,0 +1,88 @@
# Dzentra Bot — Master Roadmap
## Stage 01 — Bootstrap
✔ структура проекта
✔ virtualenv
✔ запуск приложения
✔ базовый bootstrap
---
## Stage 02 — System layer
✔ экран ⚙️ Система
✔ базовая диагностика
✔ структура компонентов
---
## Stage 03 — Exchange Integration
### 03.1
✔ mock exchange
### 03.2
✔ время / timestamp
### 03.3
✔ exchangeInfo
✔ валидация символа
### 03.4
✔ private auth (HMAC, headers, timestamp)
### 03.5
✔ первый private endpoint (account)
✔ баланс
✔ экран 💼 Портфель
✔ UX улучшения
---
## Stage 04 — Storage / Journal (NEXT)
### 04.1
⏳ storage foundation
### 04.2
⏳ journal / event log
### 04.3
⏳ repositories
### 04.4
⏳ UI integration
---
## Stage 03.6 — Orders (после storage)
⏳ orders skeleton
⏳ dry-run режим
⏳ валидация ордеров
---
## Stage 05 — Trading logic
⏳ стратегии
⏳ риск-менеджмент
⏳ сигналы
---
## Stage 06 — Automation
⏳ авто-режим
⏳ планировщик
⏳ фоновые задачи
---
## Stage 07 — Observability
⏳ логирование
⏳ алерты
⏳ метрики
---
## Текущий статус
👉 Stage 03.5 — завершён
👉 Следующий шаг: Stage 04.1

View File

@@ -0,0 +1,75 @@
# Stage 03 — Exchange Integration Roadmap
## Цель
Интеграция с биржей:
- public API
- private API
- базовый UI
---
## 03.1 — Mock exchange
✔ имитация данных
✔ структура клиента
---
## 03.2 — Time handling
✔ обработка timestamp
✔ локализация времени
---
## 03.3 — exchangeInfo
✔ загрузка символов
✔ валидация символа
✔ защита от ошибок API
---
## 03.4 — Private auth
✔ API key
✔ secret
✔ HMAC подпись
✔ headers
✔ timestamp
---
## 03.5 — Account + Portfolio
✔ private endpoint `/account`
✔ парсер баланса
✔ сервисный слой
✔ экран 💼 Портфель
### UX улучшения
✔ иконки валют
✔ сортировка
✔ скрытие нулевых балансов
✔ группировка активов
---
## Результат Stage 03
✔ бот умеет:
- получать цену
- валидировать символ
- работать с private API
- получать баланс
- отображать портфель
---
## Ограничения
- нет ордеров
- нет хранения
- нет журнала
- нет стратегии
---
## Следующий шаг
➡ Stage 04 — Storage / Journal

View File

@@ -0,0 +1,72 @@
# Stage 04 — Storage / Journal Roadmap
## Цель
Добавить слой хранения и журналирования.
---
## 04.1 — Storage foundation
Цель:
- подключить БД
- создать базовые модели
Что добавить:
- storage/session.py
- storage/schema.py
- SQLite
Сущности:
- BalanceSnapshot
- JournalEvent
- OrderDraft
---
## 04.2 — Journal / event log
Цель:
- логировать действия бота
Что логировать:
- ошибки API
- запросы
- события системы
---
## 04.3 — Repositories
Цель:
- хранить данные
Добавить:
- repository balance
- repository orders
- repository journal
---
## 04.4 — UI integration
Цель:
- показать storage в интерфейсе
Добавить:
- статус БД в ⚙️ Система
- последние события
- snapshot баланса
---
## Результат Stage 04
✔ данные сохраняются
✔ есть история
✔ есть журнал
---
## Следующий шаг
➡ Stage 03.6 — Orders skeleton

View File

@@ -0,0 +1,22 @@
# Stage 04.1 — Storage Foundation (PostgreSQL)
## Цель
Подключить первый слой хранения сразу на PostgreSQL и заложить базу для журналирования и order flow.
## Что добавлено
- PostgreSQL как основная БД
- инициализация схемы при старте приложения
- таблицы:
- balance_snapshots
- journal_events
- order_drafts
- health check БД в `⚙️ Система`
## Почему PostgreSQL
- подходит как целевая БД на рост
- удобно для JSONB, событий и order flow
- не требует будущей смены движка при росте проекта
## Что дальше
- Stage 04.2 — Journal / event log
- Stage 04.3 — repositories

View File

@@ -0,0 +1,25 @@
# Stage 04.1+ — System Screen UI Polish
## Цель
Сделать экран `⚙️ Система` короче, чище и понятнее без изменения бизнес-логики.
## Что изменено
- убраны формулировки вида `OK База данных`
- заголовки компонентов теперь выглядят единообразно
- текст PostgreSQL health сокращён до компактного вида
- блок окружения переведён на более аккуратный формат
## Что НЕ менялось
- логика health checks
- подключение PostgreSQL
- проверка public/private API
- symbol validation
## Результат
Экран `⚙️ Система` стал:
- компактнее
- понятнее
- ближе к продовому UI
## Рекомендуемый commit
`Stage 04.1+ - polish system screen UI`