Sergey Krylov 729e94b4db
Some checks failed
CI / lint (pull_request) Failing after 1m53s
CI / test (pull_request) Failing after 1m45s
CI / build (pull_request) Failing after 1m44s
CI / lint (push) Failing after 1m39s
CI / test (push) Failing after 1m40s
CI / build (push) Failing after 1m34s
test: add 95 frontend unit tests with vitest, RTL, and MSW
95 tests across 22 files covering all frontend modules:
- API layer: client, auth
- Components: BondDetails, Layout, PriceChart, ProtectedRoute, SearchBar, StockDetails
- Context: AuthContext
- Hooks: useAuth, useBond, useBondCandles, useSearch, useStock, useStockCandles, useStockDividends
- Pages: BondPage, HomePage, LoginPage, ProfilePage, RegisterPage, StockPage

Infrastructure:
- vitest + @testing-library/react + MSW v2 with 13 API handlers
- Co-located test files alongside source files
- Test utilities: setup, server, factories, test-utils
- BrowserRouter future flags for MemoryRouter test compatibility
- Root test:frontend script for workspace-wide execution
2026-06-14 08:27:15 +03:00

MoexVibe

Веб-приложение для анализа ценных бумаг Московской биржи (MOEX).

Tech Stack

  • Backend: NestJS, TypeScript, OpenAPI (Swagger)
  • Frontend: React, TypeScript, Vite, TanStack Query, lightweight-charts
  • Infrastructure: Docker, docker-compose

Quick Start

# Install dependencies
npm install

# Start backend (http://localhost:3000)
npm run dev:backend

# Start frontend (http://localhost:5173)
npm run dev:frontend

Swagger UI: http://localhost:3000/api/docs

Docker

docker compose up --build

Tests

npm run test:backend

Project Structure

apps/
  backend/     — NestJS API (single point of access to MOEX ISS)
  frontend/    — React SPA with Vite
docs/
  architecture/ — ADR documents and diagrams
  openapi/      — OpenAPI specification
  superpowers/  — Design specs and implementation plans
Description
No description provided
Readme 9.1 MiB
Languages
TypeScript 97.7%
Shell 1.2%
JavaScript 0.9%
CSS 0.2%