--- slug: / --- # MoexVibe Веб-приложение для анализа ценных бумаг Московской биржи (MOEX). ## Технологический стек - **Backend:** NestJS, TypeScript, OpenAPI (Swagger) - **Frontend:** React 18, TypeScript, Vite, TanStack Query v5, lightweight-charts v4 - **Инфраструктура:** Docker, docker-compose - **CI:** Gitea Actions ## Структура репозитория ``` moex-vibe/ ├── apps/ │ ├── backend/ # NestJS API (единственная точка доступа к MOEX) │ ├── frontend/ # React SPA │ └── docs/ # Docusaurus-сайт документации ├── docs/ │ └── superpowers/ │ └── specs/ # Согласованные SDD-спецификации ├── docker/ │ ├── Dockerfile.backend │ ├── Dockerfile.frontend │ └── nginx.conf ├── docker-compose.yml └── tsconfig.base.json ``` ## Ключевые принципы - Backend — единственный клиент MOEX. Frontend никогда не обращается к MOEX напрямую. - npm workspaces монорепозиторий: `apps/backend`, `apps/frontend` и `apps/docs`. - Глобальный префикс API: `/api/v1`. Swagger: `/api/docs`. - Ответы API обёрнуты в `{ data: T, meta: { fromCache, cachedAt } }`. - `apps/docs` — опубликованная документация; root `docs` хранит только SDD specs.