6 Commits

Author SHA1 Message Date
3d5e695559 fix: resolve multiple frontend/backend bugs and add missing functionality
All checks were successful
Deploy to Production / deploy (push) Successful in 2m7s
Backend:
- Fix Decimal serialization in data_explorer.py (Decimal → FloatDecimal)
- Fix Optional type hints for query parameters in admin.py
- Fix authentication bypass in market.py search_stocks endpoint

Frontend:
- Fix 404 page: link to "/" instead of "/dashboard", proper back button
- Rewrite dashboard with real API data instead of hardcoded samples
- Implement actual equity curve and drawdown charts in backtest detail
- Remove mock data from backtest list, load real results from API
- Fix null dividend_yield display in quality strategy page
- Add skeleton loading states to 7 pages that returned null during load

Infrastructure:
- Fix PostgreSQL 18 volume mount compatibility in docker-compose.yml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 22:49:17 +09:00
752db2ef1a fix: serialize Decimal as float in API responses and fix transaction field names
All checks were successful
Deploy to Production / deploy (push) Successful in 1m33s
Pydantic v2's model_dump(mode="json") serializes Decimal as strings (e.g.,
"33.33" instead of 33.33), causing frontend crashes when calling .toFixed()
on string values. Introduced FloatDecimal type alias with PlainSerializer
to ensure Decimal fields are serialized as floats in JSON responses.

Also fixed frontend Transaction interface to match backend field names
(created_at → executed_at, transaction_type → tx_type).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 23:47:48 +09:00
4498ff9df1 feat(frontend): final polish and cleanup
- Toast notifications with sonner
- Loading skeleton components
- Improved loading states
- 404 page
- Cleanup old components

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 23:11:41 +09:00
c3d43c97d0 feat(frontend): improve portfolio pages
- TradingView chart component with lightweight-charts v5 API
- PortfolioCard component with mini pie chart and return display
- Updated portfolio list with cards and empty state
- Portfolio detail with charts, tabs (holdings/transactions/analysis)
- Improved holdings table with progress bars for weight
- Added tabs component from shadcn

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 23:03:45 +09:00
eb3ce0e6e7 feat(frontend): apply DashboardLayout to all pages
- Portfolio pages updated with DashboardLayout and shadcn/ui Card components
- Strategy pages updated (multi-factor, quality, value-momentum)
- Backtest pages updated with consistent styling
- Admin data management page updated
- Login page improved with shadcn/ui Card, Input, Button, Label
- All pages now support dark mode via CSS variables
- Removed old Sidebar/Header imports, using unified DashboardLayout
- Added shadcn/ui input and label components

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:54:22 +09:00
bc356d9edf feat: add portfolio detail page with holdings 2026-02-03 08:27:29 +09:00