30 Commits

Author SHA1 Message Date
3b741e1cfd feat(frontend): improve strategy and backtest pages
- Add StrategyCard component with icon, CAGR range, risk badge, and stock count
- Update strategy list page with improved cards and descriptions
- Redesign backtest page with split layout (form left, results right)
- Add summary cards for CAGR, MDD, Sharpe ratio, and total return
- Integrate charts for equity curve, drawdown, and yearly returns
- Add badge, select, and skeleton UI components
- Toggle between new backtest form and history view

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 23:07:19 +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
4f432fb85c feat(frontend): add dashboard charts
- Sparkline for summary cards
- AreaChart for asset trends
- DonutChart for sector allocation
- BarChart for portfolio comparison

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:58:00 +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
3e733ec1b8 feat(frontend): add new layout components
- Collapsible Sidebar with navigation
- Header with page titles and logout
- DashboardLayout with responsive design
- Updated dashboard page

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:46:54 +09:00
0200ebc7ad test(frontend): add Phase 1 test page
- Verify shadcn/ui components render correctly
- Verify theme toggle works
- Verify Lucide icons display
- Temporary page for Phase 1 verification

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:25:12 +09:00
4178744afe feat(frontend): add chart libraries
- recharts for general charts
- lightweight-charts for TradingView financial charts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:24:07 +09:00
c0fc599083 feat(frontend): add ThemeToggle component
- Dropdown menu with light/dark/system options
- Uses Lucide icons for sun/moon

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:23:22 +09:00
f4038ef539 feat(frontend): add core shadcn/ui components
- button, card, dropdown-menu, sheet, tooltip

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:21:51 +09:00
70bc032575 feat(frontend): add lucide-react icons
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:20:37 +09:00
0fce3f03f3 feat(frontend): add next-themes for dark/light mode
- Create ThemeProvider component
- Apply ThemeProvider to root layout
- Enable system theme detection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:19:27 +09:00
6e30ecea03 feat(frontend): initialize shadcn/ui configuration
- Add tailwind.config.ts with shadcn/ui theme colors
- Update globals.css with CSS variables for dark/light mode
- Add utils.ts with cn() helper function
- Add components.json for shadcn/ui CLI
- Update postcss.config.mjs with autoprefixer
- Exclude playwright config from tsconfig to fix build

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 22:17:26 +09:00
926958c15a fix: remove unused function and fix lint warning
- Remove unused login helper in portfolio.spec.ts
- Add eslint-disable for useEffect in history page

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:30:54 +09:00
efcfc0e090 feat: add E2E tests for backend and frontend
Backend (pytest):
- Auth flow tests (login, token, protected routes)
- Portfolio CRUD and transaction tests
- Strategy endpoint tests
- Backtest flow tests
- Snapshot and returns tests

Frontend (Playwright):
- Auth page tests
- Portfolio navigation tests
- Strategy page tests
- Backtest page tests
- Playwright configuration

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:30:13 +09:00
e3b9ec1071 feat: update Docker configuration
- Backend Dockerfile: Python 3.12, non-root user, healthcheck
- Frontend Dockerfile: Multi-stage build, production stage
- docker-compose.yml: env_file, healthchecks, restart policies
- docker-compose.prod.yml: Production config with nginx
- .env.example: Updated with all variables

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:27:34 +09:00
89bd8fea53 feat: add scheduler, returns calculator, and history page
- APScheduler for daily snapshots (18:30 weekdays)
- ReturnsCalculator with CAGR, TWR, MDD, volatility
- Portfolio history page with snapshots and returns tabs
- FastAPI lifespan integration for scheduler

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:26:16 +09:00
3a9e5513f9 fix: remove unused formatCurrency function in backtest page
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 12:06:38 +09:00
1a3a0cf5a0 feat: add backtest pages and API endpoints
- Backtest list/create page with strategy-specific params
- Backtest result page with metrics, holdings, transactions
- Polling for async backtest status

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 11:53:59 +09:00
aa2047a922 feat: add strategy pages (multi-factor, quality, value-momentum)
- Multi-factor strategy page with weight configuration
- Quality strategy page with F-Score filtering
- Value-momentum strategy page

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:07:49 +09:00
475a056bc8 feat: add strategy list page
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:02:24 +09:00
d2314cad4e feat: add rebalancing calculation page 2026-02-03 08:30:43 +09:00
bc356d9edf feat: add portfolio detail page with holdings 2026-02-03 08:27:29 +09:00
c1f175f9bd feat: add new portfolio creation page 2026-02-03 07:13:14 +09:00
cbf30c6bb4 feat: add portfolio list page 2026-02-03 07:12:44 +09:00
68f9974cd6 fix: add error feedback and accessibility to data management page
- Add user-facing error state with red alert box for failed operations
- Improve error handling in fetchJobs and runCollector functions
- Add aria-labels to collector buttons for better accessibility
- Add scope="col" to table headers for proper semantic HTML
- Add refresh loading state with disabled button styling
- Create handleRefresh function for proper state management during refresh

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 00:04:50 +09:00
11e5158378 feat: add data management admin page
Add frontend page for admin data collection management at /admin/data.
The page displays available collectors (stocks, sectors, prices, valuations)
with buttons to trigger collection jobs, and shows recent job history
with status, timing, record counts, and error information.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 00:02:15 +09:00
19d5527a71 feat: add frontend base layout with sidebar, header, and login page
- Add API client utility (frontend/src/lib/api.ts) with JWT authentication
- Add Sidebar component with navigation menu (Korean labels)
- Add Header component with logout functionality
- Update globals.css with Tailwind CSS configuration
- Update layout.tsx with Inter font and Korean language
- Update page.tsx with dashboard layout and auth check
- Add login page with form validation and error handling
- Fix .gitignore to not exclude frontend/src/lib/

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 23:24:06 +09:00
6885dbd580 fix: add dockerignore files and fix docker-compose config
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 23:10:01 +09:00
b60aa558cc feat: add Docker Compose configuration for all services
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 23:05:41 +09:00
e8c17f9e4d feat: initialize project structure with backend and frontend scaffolding
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 22:55:26 +09:00