Commit graph

72 commits

Author SHA1 Message Date
Marko Djordjevic
74b84073a9 feat: create detailed implementation tasks (107 checkboxed tasks)
Breakdown into 16 phases:
1. Setup and Configuration (3 tasks)
2. API Extensions for Bulk Operations (8 tasks)
3. Hacker Theme - CSS Variables and Tailwind (12 tasks)
4. Hacker Theme - Component Styling (6 tasks)
5. Label Management - State and Selection (9 tasks)
6. Label Management - Keyboard Delete (7 tasks)
7. Label Management - Sidebar List UI Structure (8 tasks)
8. Label Management - Sidebar List Content (11 tasks)
9. Label Management - Search and Filter (8 tasks)
10. Label Management - Delete All Labels Button (9 tasks)
11. Toast Feedback System (8 tasks)
12. Docker - Dockerfile Creation (14 tasks)
13. Docker - Compose Configuration (12 tasks)
14. Documentation Updates (10 tasks)
15. Integration Testing and Validation (15 tasks)
16. Commit and Cleanup (8 tasks)

Each task is small, specific, and verifiable. Perfect for Haiku model execution.
2026-02-12 14:55:30 +01:00
Marko Djordjevic
ce96895bc3 feat: create comprehensive design document
Technical decisions with rationale:
- Label selection: parallel state to avoid disturbing line logic
- Label list UI: collapsible section in Toolbox with search/filter
- API design: extend DELETE with query params for bulk operations
- Docker: standalone output with multi-stage build
- Theme: CSS variables + Tailwind extension strategy
- Feedback: Toast component with terminal formatting

Includes risk mitigation, migration plan, and testing checklist
2026-02-12 14:49:26 +01:00
Marko Djordjevic
c41eb622fe refactor: remove line-deletion capability (already implemented)
Line deletion via Delete tool already exists in current implementation.
Focus on three new capabilities: label-management, docker-deployment, hacker-theme
2026-02-12 14:46:23 +01:00
Marko Djordjevic
a236d2c065 feat: create comprehensive specs for all four capabilities
- line-deletion: keyboard shortcuts and bulk delete with confirmation
- label-management: full CRUD UI in sidebar with search/filter
- docker-deployment: multi-stage build, compose, health checks
- hacker-theme: matrix-style colors, neon glows, monospace fonts
2026-02-12 14:44:45 +01:00
Marko Djordjevic
f1832de7da feat: create OpenSpec proposal for annotation enhancements and deployment 2026-02-12 14:39:41 +01:00
Marko Djordjevic
37c3adf42f feat: implement Phase 4 endpoint dragging with visual handles 2026-02-12 14:32:00 +01:00
Marko Djordjevic
91c516999d feat: implement Phase 3 line selection with visual feedback 2026-02-12 14:24:11 +01:00
Marko Djordjevic
c3292b4f6c fix: improve cursor circle visibility with white fill and larger radius 2026-02-12 14:20:57 +01:00
Marko Djordjevic
30b13d6898 feat: add cursor circle visual feedback during line drawing (Phase 2) 2026-02-12 14:09:01 +01:00
Marko Djordjevic
7f144e4ab8 docs: mark Phase 1 as complete in implementation plan 2026-02-12 14:05:01 +01:00
Marko Djordjevic
006e95c266 feat: add color support for line annotations
- Add color field to annotations schema with default blue (#3b82f6)
- Add color picker UI with 5 preset colors (red, green, blue, yellow, white)
- Pass selected color through component hierarchy (Page -> Toolbox, CandleChart -> SvgOverlay)
- Store color when creating line annotations
- Render lines with their stored color
- Update database with color column
- Preview lines show selected color during drawing

Phase 1 of LINE_DRAWING_IMPROVEMENTS.md complete
2026-02-12 14:04:51 +01:00
Marko Djordjevic
5767669b2c docs: add detailed implementation plan for line drawing improvements 2026-02-12 14:00:28 +01:00
Marko Djordjevic
daec116aab fix svg overlay z-index 2026-02-12 13:54:57 +01:00
Marko Djordjevic
551e8423b2 fix: sort markers by timestamp before setting on chart
- Add sorting to annotation markers in ascending order by time
- Fixes 'data must be asc ordered by time' error for markers
- Ensures both candle data and markers are properly sorted
2026-02-12 11:54:41 +01:00
Marko Djordjevic
17eb2ca745 fix: sort candle data before displaying in chart
- Add sorting by timestamp in ascending order before setting chart data
- Fixes 'data must be asc ordered by time' error from lightweight-charts
- Ensures chart displays correctly even if API returns unsorted data
2026-02-12 11:52:43 +01:00
Marko Djordjevic
11f0759b0e fix: resolve chart visibility issues after CSV upload
- Add fixed width to sidebar (w-64) to prevent layout collapse
- Change chart container from flex-1 to w-full h-full for proper sizing
- Chart now properly displays after CSV upload
2026-02-12 11:50:48 +01:00
Marko Djordjevic
9b5bc9b6b3 chore: mark all 59 tasks as completed in OpenSpec 2026-02-12 11:20:46 +01:00
Marko Djordjevic
23f18f405a feat: complete candle annotator implementation
- Created CandleChart component with lightweight-charts integration
- Implemented SvgOverlay component for line drawing
- Integrated all components in main page
- Fixed TypeScript and Tailwind CSS compatibility issues
- Added comprehensive README.md with project documentation
- Created DEPLOYMENT.md with setup and troubleshooting guide
- Downgraded to stable versions (Tailwind v3, lightweight-charts v4)
- All 59 tasks from OpenSpec completed
2026-02-12 11:20:29 +01:00
Marko Djordjevic
8d1e72579e feat: create UI shell and components
- Toolbox component with tool selection (break up/down, line, delete)
- FileUpload component with CSV upload functionality
- Main page layout with sidebar and chart area
- Tool state management and export functionality
2026-02-12 10:24:52 +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
Marko Djordjevic
d04b673cfa feat: initialize Next.js project with database schema
- Set up Next.js with App Router, TypeScript, Tailwind CSS
- Configure shadcn/ui with dark theme
- Install dependencies: lightweight-charts, papaparse, lucide-react
- Set up Drizzle ORM with better-sqlite3
- Create database schema for candles and annotations tables
- Generate migration SQL
2026-02-12 10:23:02 +01:00
Marko Djordjevic
7d2fc42b73 starting planning 2026-02-12 09:42:55 +01:00