Marko Djordjevic
5f70f13da3
feat: migrate from SQLite to PostgreSQL - complete schema and API updates
...
- Remove better-sqlite3, add pg driver
- Convert schema to PostgreSQL types (serial, timestamp, boolean, jsonb)
- Generate fresh PostgreSQL migrations
- Update database connection layer with pg.Pool
- Fix all API routes: remove JSON.parse/stringify, use native timestamps and booleans
- Update drizzle.config.ts and .env.example for PostgreSQL
2026-02-17 13:43:06 +01:00
Marko Djordjevic
4b5cc2f174
fix: install missing shadcn/ui components and fix TypeScript build errors
...
- Install missing shadcn/ui components: dialog, select, label, slider, textarea
- Fix import paths in export API endpoint (@/lib/db instead of @/db)
- Fix CandleChart activeChartId type (handle undefined with nullish coalescing)
- Fix SpanRectanglePrimitive renderer to use proper lightweight-charts v4 API:
- Implement ISeriesPrimitivePaneRenderer interface
- Use useBitmapCoordinateSpace for HiDPI rendering
- Add proper scaling factor for coordinates and dimensions
- Fix hitTest to return PrimitiveHoveredItem with required zOrder property
- Mark all section 12 integration testing tasks as completed
2026-02-14 10:43:10 +01:00
Marko Djordjevic
842a58f12b
feat: implement section 11 - span export endpoints (JSON, windowed CSV, BIO-tagged CSV)
2026-02-14 10:14:58 +01:00
Marko Djordjevic
90e1e179cc
feat: scope candles/annotations/export APIs by chartId query param
...
- GET /api/candles accepts ?chartId= with fallback to most recent chart
- GET /api/annotations accepts ?chartId= with fallback to most recent chart
- POST /api/annotations now requires chart_id in request body
- GET /api/export accepts ?chartId= to scope exported annotations
- DELETE /api/annotations supports optional chartId scoping
2026-02-13 00:14:22 +01:00
Marko Djordjevic
096a80b229
feat: implement backend API endpoints
...
- CSV upload with papaparse (handles date strings and Unix timestamps)
- Annotations CRUD (GET, POST, DELETE)
- Candles GET endpoint
- Export annotations as CSV
2026-02-12 10:24:03 +01:00