18 Commits

Author SHA1 Message Date
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