a14e24d8e8
chore: commit docs and lockfile changes
CI / lint (pull_request) Successful in 1m58s
CI / test (pull_request) Failing after 1m43s
CI / build (pull_request) Failing after 1m42s
CI / lint (push) Successful in 1m44s
CI / test (push) Failing after 1m46s
CI / build (push) Failing after 1m32s
2026-06-14 09:10:33 +03:00
5ff9cd6190
fix: remove unused parserOptions.project in frontend ESLint, fix prettier glob pattern
2026-06-14 09:05:57 +03:00
6a7706f7be
chore: update root lint script to cover both workspaces
2026-06-14 09:03:39 +03:00
515e59600f
feat: add Husky pre-commit hook with lint-staged
2026-06-14 09:02:48 +03:00
090a2b613f
feat: add ESLint config for frontend
2026-06-14 08:58:55 +03:00
729e94b4db
test: add 95 frontend unit tests with vitest, RTL, and MSW
...
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
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
c2478277e6
feat: add authentication system with JWT + RBAC
...
CI / lint (pull_request) Failing after 1m45s
CI / test (pull_request) Failing after 1m42s
CI / build (pull_request) Failing after 1m31s
CI / lint (push) Failing after 1m46s
CI / test (push) Failing after 1m34s
CI / build (push) Failing after 1m35s
Backend:
- AuthModule with register, login, logout, refresh, profile endpoints
- JwtAuthGuard (global, opt-out via @Public) + RolesGuard (@Roles)
- PrismaModule with SQLite via @prisma/adapter-libsql (Prisma 7)
- Auth configuration in configuration.ts
Frontend:
- Auth context with session restoration via refresh cookie
- Login, Register, Profile pages with ProtectedRoute
- Auto-refresh on 401 with token rotation
- API client refactored for auth headers
Russian text: auth flows translated to Russian
All text translated: auth pages, profile, layout, loading states
2026-06-13 22:24:46 +03:00
aac5b2f873
docs: add Docusaurus documentation site as npm workspace
...
CI / lint (pull_request) Successful in 1m32s
CI / test (pull_request) Successful in 1m23s
CI / build (pull_request) Successful in 1m27s
CI / lint (push) Successful in 1m16s
CI / test (push) Successful in 1m23s
CI / build (push) Successful in 1m32s
- Create apps/docs/ with Docusaurus 3.7.0
- Add documentation: architecture, backend, frontend, infrastructure, development, ADR
- Include 5 Mermaid diagrams (system architecture, request flow, modules, caching, deployment)
- Configure as npm workspace with dev:docs/build:docs scripts
- Copy existing ADR documents from docs/architecture/adr/
2026-06-13 21:37:10 +03:00
a6d4b25afe
ci: change ci/cd settings
CI / lint (pull_request) Successful in 58s
CI / test (pull_request) Successful in 56s
CI / build (pull_request) Successful in 1m5s
CI / lint (push) Successful in 57s
CI / test (push) Successful in 49s
CI / build (push) Successful in 1m1s
2026-06-13 21:02:17 +03:00
b79c8210dc
style: apply prettier formatting across the codebase
CI / lint (pull_request) Successful in 9m42s
CI / build (pull_request) Has been cancelled
CI / test (pull_request) Has been cancelled
2026-06-13 20:32:34 +03:00
d32ca22acd
ci: add Gitea Actions pipeline with lint, test, build
CI / lint (pull_request) Failing after 5m47s
CI / test (pull_request) Successful in 9m46s
CI / build (pull_request) Successful in 9m52s
2026-06-13 19:57:30 +03:00
9d191763e1
docs: add AGENTS.md with dev instructions and SDD workflow
2026-06-13 19:36:05 +03:00
d4a7ccf1c9
feat: Sprint 6 - documentation and infrastructure
...
- Docker setup (Dockerfile.backend, Dockerfile.frontend, nginx, docker-compose)
- Architecture overview with Mermaid sequence diagram
- README with quick start and Docker instructions
- Verify OpenAPI spec and ADR docs
2026-06-13 19:27:52 +03:00
9ae3906971
feat: Sprint 5 - frontend detail pages with charts
...
- Add useStock, useStockCandles, useStockDividends, useBond, useBondCandles hooks
- Add StockDetails component with full share info
- Add BondDetails component with full bond info (NKD, YTM, duration, coupon)
- Add PriceChart component using lightweight-charts (candlestick chart)
- Update StockPage and BondPage with details, charts, and dividends table
2026-06-13 19:21:03 +03:00
4b753266b3
feat: frontend API layer, Layout, SearchBar, HomePage
...
- Add typed API response types and fetch client (responses.ts + client.ts)
- Add useSearch hook with TanStack Query
- Add Layout with header and search bar
- Add SearchBar with debounced search and dropdown
- Implement HomePage, StockPage, BondPage with data loading
2026-06-13 19:16:10 +03:00
49437817a5
fix: bind middleware logger context; generate OpenAPI types for frontend
...
- Fix RequestLoggingMiddleware this.logger crash by binding the use() method to the instance
- Generate src/api/types.ts from live backend via openapi-typescript
2026-06-13 19:13:08 +03:00
5d80c510eb
feat: scaffold React + Vite frontend with routing
2026-06-13 19:10:42 +03:00
d850f3f4fd
feat: add candles module and share history endpoint
2026-06-13 19:08:33 +03:00
45042d9cc7
feat: add bonds endpoint with market data and history
2026-06-13 19:07:18 +03:00
fdb8b52e38
fix: make CacheModule global for DI availability across all modules
2026-06-13 19:05:09 +03:00
f0a9a13d57
feat: add shares endpoint with market data and dividends
2026-06-13 19:04:30 +03:00
f2be35d544
feat: add securities search endpoint with .json fix for MOEX ISS
2026-06-13 19:02:52 +03:00
5315473973
feat: add cache module with getOrFetch pattern and configurable TTL
2026-06-13 18:56:58 +03:00
16b11d94d9
feat: add MoexClient with rate-limited HTTP client, circuit breaker, and MOEX ISS data methods
2026-06-13 18:56:08 +03:00
173b65d5fc
feat: add health check endpoint
2026-06-13 18:51:40 +03:00
5dcc1e12be
feat: add common DTOs, exception filter, transform interceptor, logging middleware
2026-06-13 18:50:48 +03:00
aac49cd0df
feat: add configuration module with env vars
2026-06-13 18:49:54 +03:00
9c5f2c902a
feat: scaffold NestJS backend with Swagger, validation, CORS
2026-06-13 18:48:16 +03:00
e9a9b4d119
chore: initialize monorepo with npm workspaces
2026-06-13 18:45:51 +03:00
e4ec1eea0a
create specification and plan for MVP
2026-06-13 18:42:46 +03:00