194 lines
5.5 KiB
Markdown
194 lines
5.5 KiB
Markdown
Ты выступаешь как Senior Solution Architect, Tech Lead и Product Analyst.
|
||
|
||
Нужно спроектировать MVP приложения для анализа инвестиций на Московской бирже (MOEX).
|
||
|
||
Перед составлением спецификации и плана разработки ты ОБЯЗАН выявить все недостающие требования и задать уточняющие вопросы. Не переходи к проектированию, пока все критические вопросы не будут закрыты.
|
||
|
||
## Источники данных
|
||
|
||
Использовать только официальные API и документацию MOEX:
|
||
|
||
* https://www.moex.com/a2193
|
||
* https://www.moex.com/a7939
|
||
* https://iss.moex.com/iss/reference/
|
||
|
||
Перед проектированием изучи доступные методы API и предложи оптимальную модель интеграции.
|
||
|
||
---
|
||
|
||
# Цель MVP
|
||
|
||
Разработать веб-приложение для анализа ценных бумаг Московской биржи.
|
||
|
||
## MVP должен включать
|
||
|
||
### Главная страница
|
||
|
||
* глобальный поиск по инструментам
|
||
* поиск акций
|
||
* поиск облигаций
|
||
* отображение результатов поиска
|
||
* переход на карточку инструмента
|
||
|
||
### Страница акции
|
||
|
||
Отображение:
|
||
|
||
* тикера
|
||
* названия компании
|
||
* текущей цены
|
||
* капитализации
|
||
* дивидендной информации
|
||
* доходности
|
||
* основных финансовых показателей (если доступны через MOEX)
|
||
* исторических данных
|
||
* графика цены
|
||
|
||
### Страница облигации
|
||
|
||
Отображение:
|
||
|
||
* ISIN
|
||
* тикера
|
||
* эмитента
|
||
* номинала
|
||
* купона
|
||
* даты погашения
|
||
* текущей цены
|
||
* доходности к погашению
|
||
* накопленного купонного дохода
|
||
* графика цены
|
||
* прочих доступных параметров
|
||
|
||
---
|
||
|
||
# Технологический стек
|
||
|
||
## Frontend
|
||
|
||
* React
|
||
* TypeScript
|
||
* Vite
|
||
* TanStack Query
|
||
* React Router
|
||
* OpenAPI Code Generation
|
||
* максимальная типизация
|
||
* SSR не требуется
|
||
|
||
## Backend
|
||
|
||
* NestJS
|
||
* TypeScript
|
||
* OpenAPI (Swagger)
|
||
* архитектура по feature modules
|
||
* DTO validation
|
||
* централизованная обработка ошибок
|
||
* structured logging
|
||
* request/response logging middleware
|
||
* healthcheck endpoint
|
||
* configuration module
|
||
|
||
## Документация
|
||
|
||
Использовать Docusaurus.
|
||
|
||
Документация должна включать:
|
||
|
||
* архитектурные решения (ADR)
|
||
* sequence diagrams
|
||
* component diagrams
|
||
* deployment diagrams
|
||
* API documentation
|
||
* OpenAPI схемы
|
||
* описание бизнес-процессов
|
||
* onboarding разработчиков
|
||
|
||
---
|
||
|
||
# Подход к разработке
|
||
|
||
Использовать:
|
||
|
||
* Superpowers
|
||
* OpenSpec
|
||
|
||
Разработка должна начинаться со спецификации.
|
||
|
||
Сначала сформировать:
|
||
|
||
1. Product Requirements Document (PRD)
|
||
2. Domain Model
|
||
3. Architecture Decision Records (ADR)
|
||
4. OpenAPI Contract
|
||
5. Frontend Architecture
|
||
6. Backend Architecture
|
||
7. План реализации по этапам
|
||
|
||
---
|
||
|
||
# Требования к API
|
||
|
||
Backend является единственной точкой доступа к MOEX.
|
||
|
||
Frontend не должен обращаться к MOEX напрямую.
|
||
|
||
Backend должен:
|
||
|
||
* агрегировать данные MOEX
|
||
* кешировать ответы
|
||
* нормализовать модели данных
|
||
* предоставлять собственный OpenAPI контракт
|
||
|
||
Необходимо предложить стратегию:
|
||
|
||
* кеширования
|
||
* rate limiting
|
||
* обработки ошибок MOEX
|
||
* обновления данных
|
||
|
||
---
|
||
|
||
# Требования к Frontend
|
||
|
||
Использовать OpenAPI codegen для генерации:
|
||
|
||
* API clients
|
||
* DTO
|
||
* React Query hooks (если возможно)
|
||
|
||
Не писать API-клиенты вручную без необходимости.
|
||
|
||
Предложить оптимальную структуру проекта.
|
||
|
||
---
|
||
|
||
# UX/UI
|
||
|
||
Использовать современные практики frontend разработки.
|
||
|
||
При проектировании интерфейсов:
|
||
|
||
* использовать MCP инструменты для анализа и генерации дизайна
|
||
* использовать frontend design skills
|
||
* подготовить описание экранов
|
||
* подготовить user flow
|
||
* подготовить wireframes в текстовом виде
|
||
|
||
---
|
||
|
||
# Ожидаемый результат
|
||
|
||
После уточнения требований сформируй:
|
||
|
||
1. список вопросов
|
||
2. PRD
|
||
3. OpenSpec спецификацию
|
||
4. архитектуру системы
|
||
5. структуру репозитория
|
||
6. OpenAPI проект
|
||
7. план реализации по спринтам
|
||
8. список рисков
|
||
9. roadmap развития после MVP
|
||
|
||
Не сокращай ответы. Действуй как архитектор уровня Staff+/Principal Engineer.
|