Commit Graph

26 Commits

Author SHA1 Message Date
serversdwn
bd0ac0d95b updated docs 2025-11-25 23:26:47 +00:00
serversdwn
1a6c8cf98c v0.1.6 changes 2025-11-25 23:22:44 +00:00
serversdwn
8d5ad6a809 Reworked variable system, no longer hardcoded 2025-11-25 20:41:11 +00:00
serversdwn
d692de8f5d Merge pull request #8 from serversdwn/main
Syncing main to dev
2025-11-21 03:07:08 -05:00
serversdwn
41b5b1bc1c json schema template added
Made a little json schema template
2025-11-21 03:06:08 -05:00
serversdwn
cd8cb658e7 Made a little json schema template 2025-11-21 08:03:46 +00:00
serversdwn
fa25cc593a v0.1.5
Fixed nesting, added draggble parent cards, collapse all, text field
2025-11-20 19:07:03 -05:00
Claude
6302ce4036 Add three new features to v0.1.5
1. Make parent cards draggable with all subtasks
   - Parent cards can now be dragged between columns
   - All descendants are automatically moved with the parent
   - Added isParent flag to drag/drop dataTransfer

2. Add Expand All / Collapse All buttons to Kanban view
   - Added global expandedCards state management
   - New buttons in Kanban header with ChevronsDown/Up icons
   - Allows quick expansion/collapse of all parent cards

3. Add description field to tasks
   - Added description textarea to TaskForm component
   - Added description edit option to TaskMenu component
   - Description displays in both TreeView and KanbanView
   - Shows below metadata in italic gray text
   - Backend already supported description field
2025-11-20 18:12:42 +00:00
Claude
66b019c60b Release v0.1.5: Nested Kanban View
Major Feature: Nested Kanban Board
- Parent tasks now appear in each column where they have subtasks
- Provides hierarchical context while maintaining status-based organization
- Eliminates need to choose between hierarchy and status views

Parent Card Features:
1. Multi-Column Presence
   - Parent card appears in every column containing its descendants
   - Shows "X of Y subtasks in this column" counter
   - Automatically updates as children move between columns

2. Expandable/Collapsible
   - Click chevron to show/hide children in that specific column
   - Each parent instance independently expandable
   - Children displayed nested with indentation

3. Visual Distinction
   - Thicker orange border (border-2 vs border)
   - Bold text styling
   - "bg-cyber-darker" background instead of "bg-cyber-darkest"
   - Non-draggable (only leaf tasks can be moved)

4. Recursive Display
   - getDescendantsInStatus() finds all descendants (not just direct children)
   - Handles arbitrary nesting depth
   - Works with sub-subtasks and beyond

Technical Implementation:
- Added helper functions:
  - getDescendantsInStatus(taskId, allTasks, status)
  - hasDescendantsInStatus(taskId, allTasks, status)
- Modified TaskCard component with isParent and columnStatus props
- Updated KanbanColumn to show both parent and leaf tasks
- Only root-level tasks shown (nested children appear when parent expanded)

Display Logic:
- Each column shows:
  1. Root parent tasks with descendants in that status
  2. Root leaf tasks with that status
- Leaf tasks: tasks with no children
- Parent tasks: tasks with at least one child

Example Usage:
Project "Build Feature"
├─ Backend (2 subtasks in backlog, 1 in progress)
└─ Frontend (1 subtask in done)

Result: Project card appears in 3 columns:
- Backlog: "2 of 3 subtasks in this column"
- In Progress: "1 of 3 subtasks in this column"
- Done: "1 of 3 subtasks in this column"

Documentation:
- Updated README with nested Kanban explanation
- Added v0.1.5 section to CHANGELOG
- Updated version to v0.1.5 in App.jsx
- Moved "Nested Kanban" from roadmap to completed features

This completes the hierarchical task management vision for TESSERACT,
allowing users to see both project structure and status distribution
simultaneously without switching views.
2025-11-20 17:59:53 +00:00
serversdwn
ae5656babd Merge pull request #5 from serversdwn/claude/nested-todo-app-mvp-014vUjLpD8wNjkMhLMXS6Kd5
Release v0.1.4: Auto-complete parents and done task strikethrough
2025-11-20 12:52:11 -05:00
Claude
8000a464c9 Release v0.1.4: Auto-complete parents and done task strikethrough
New Features:
1. Auto-Complete Parent Tasks
   - When all child tasks are marked as "done", parent automatically becomes "done"
   - Works recursively up the task hierarchy
   - Implemented in backend crud.py with check_and_update_parent_status()
   - Prevents manual status management for completed branches

2. Strikethrough for Done Tasks
   - Time estimates crossed out when task status is "done"
   - Visual indicator that work is completed
   - Applied in both TreeView and KanbanView

3. Updated Version
   - Bumped to v0.1.4 in App.jsx header

4. Documentation
   - Added comprehensive CHANGELOG.md
   - Updated README.md with v0.1.4 features
   - Documented all versions from v0.1.0 to v0.1.4
   - Added usage examples, architecture diagrams, troubleshooting

Technical Changes:
- backend/app/crud.py: Added check_and_update_parent_status() recursive function
- frontend/src/components/TreeView.jsx: Added line-through styling for done tasks
- frontend/src/components/KanbanView.jsx: Added line-through styling for done tasks
- frontend/src/App.jsx: Version updated to v0.1.4

This release completes the intelligent time tracking and auto-completion features,
making TESSERACT a fully-featured hierarchical task management system.
2025-11-20 16:13:00 +00:00
serversdwn
342f8e8d76 Merge pull request #4 from serversdwn/claude/nested-todo-app-mvp-014vUjLpD8wNjkMhLMXS6Kd5
0.1.3 Tweaks.
2025-11-20 04:53:13 -05:00
Claude
718e5acbe2 Exclude 'done' tasks from parent time estimates
When a leaf task is marked as 'done', it no longer contributes to its parent's
time estimate. This shows remaining work rather than total estimated work.

Example:
- Parent with 2 subtasks (30m each) shows 1h
- Mark one subtask as done → parent now shows 30m
- Mark both done → parent shows 0m (or own estimate if set)

This provides accurate tracking of remaining time across the task hierarchy.
2025-11-20 09:46:17 +00:00
Claude
c9555737d8 Add enhanced task creation forms and leaf-based time calculation
Features:

1. Enhanced Task Creation Forms:
   - New TaskForm component with all metadata fields
   - Title, tags (comma-separated), time estimate (hours + minutes), flag color
   - Used in TreeView (root tasks and subtasks) and KanbanView (all columns)
   - Replace simple title-only inputs with full metadata forms

2. Time Format Changes:
   - Display: "1h 30m" instead of "1.5h"
   - Input: Separate hours and minutes fields
   - Storage: Still integer minutes in backend
   - Updated formatTime() utility
   - Updated TaskMenu time editor with hours/minutes inputs

3. Leaf-Based Time Calculation:
   - Leaf tasks (no subtasks): Show user-entered estimate
   - Parent tasks (has subtasks): Show sum of all descendant LEAF tasks
   - Exception: Parent with no leaf estimates shows own estimate as fallback
   - New functions: calculateLeafTime(), calculateLeafTimeFlat()
   - Replaces old aggregation that summed all tasks including parents

This allows accurate project planning where parent estimates are calculated from leaf tasks,
preventing double-counting when both parent and children have estimates.
2025-11-20 09:37:16 +00:00
Claude
3f309163b6 Add status change dropdown and aggregated time estimates
Features:
- Add "Change Status" option to TaskMenu dropdown
  - Allows changing task status (backlog/in progress/blocked/done) from tree view
  - Shows current status with checkmark
  - No longer need to switch to Kanban view to change status

- Implement recursive time aggregation for subtasks
  - Tasks now show total time including all descendant subtasks
  - Display format varies based on estimates:
    - "1.5h" - only task's own estimate
    - "(2h from subtasks)" - only subtask estimates
    - "1h (3h total)" - both own and subtask estimates
  - Works in both TreeView (hierarchical) and KanbanView (flat list)
  - New utility functions: calculateTotalTime, calculateTotalTimeFlat, formatTimeWithTotal

This allows better project planning by showing total time investment for tasks with subtasks.
2025-11-20 09:01:45 +00:00
Claude
444f2744b3 Fix missing Clock icon import causing crash with time estimates 2025-11-20 08:45:21 +00:00
Claude
b395ee8103 Add v0.1.3 UI features: metadata display, task menu, and search
- Display time estimates, tags, and flag colors in TreeView and KanbanView
- Add TaskMenu component with three-dot dropdown for editing metadata
  - Edit time estimates (stored as minutes)
  - Edit tags (comma-separated input)
  - Set flag colors (red, orange, yellow, green, blue, purple, pink)
- Add SearchBar component in header
  - Real-time search with 300ms debounce
  - Optional project filtering
  - Click results to navigate to project
- Integrate TaskMenu into both TreeView and KanbanView
- Format time display: "30m" for <60 min, "1.5h" for >=60 min
2025-11-20 08:23:07 +00:00
Claude
70b64d276f Merge branch 'main' of http://127.0.0.1:56401/git/serversdwn/tesseract 2025-11-20 07:12:05 +00:00
serversdwn
be9c4adeb6 Merge branch 'claude/nested-todo-app-mvp-014vUjLpD8wNjkMhLMXS6Kd5'
Unifying the codebase with current dev version 0.1.3
2025-11-20 06:45:16 +00:00
Claude
fc43241833 Merge branch 'mvp2' 2025-11-20 05:53:18 +00:00
Claude
5d43dc6fd1 Add v0.1.3 backend features: metadata fields and search
Backend Changes:
- Add estimated_minutes field to tasks (stored as integer minutes)
- Add tags field (JSON array) for categorizing tasks
- Add flag_color field for visual priority indicators
- Add search endpoint (/api/search) with project filtering
- Update JSON import to handle new metadata fields

Frontend Changes:
- Display version v0.1.3 in header
- Add search API client function
- Add format utility for time display (30m, 1.5h, etc.)

Example Data:
- Update example-import.json with time estimates, tags, and flags
- Demonstrate nested metadata inheritance

Note: Frontend UI for displaying/editing these fields in progress
2025-11-20 04:54:01 +00:00
Claude
f3fc87e715 Fix tree view indentation and kanban subtask handling
Tree View:
- Fix nested task indentation to scale properly with depth (1.5rem per level)
- Sub-subtasks now indent correctly relative to their parents

Kanban View:
- Show ALL tasks as draggable cards (not just root tasks)
- Subtasks display parent task name for context
- Each subtask can be independently dragged to different status columns
- Remove nested subtask expansion since all tasks are now individual cards
2025-11-20 01:50:23 +00:00
serversdwn
0ca496ae2d Merge pull request #1 from serversdwn/claude/nested-todo-app-mvp-014vUjLpD8wNjkMhLMXS6Kd5
Fix backend import error and update proxy for local dev
2025-11-19 18:17:16 -05:00
Claude
855b91ba78 Fix backend import error and update proxy for local dev
- Add missing Optional import in backend/app/main.py
- Update Vite proxy to use localhost:8000 for local development
- Add package-lock.json from npm install
2025-11-19 23:13:20 +00:00
Claude
441f62023e Implement complete nested todo tree web app MVP
This commit implements a fully functional self-hosted task decomposition engine with:

Backend (FastAPI + SQLite):
- RESTful API with full CRUD operations for projects and tasks
- Arbitrary-depth hierarchical task structure using self-referencing parent_task_id
- JSON import endpoint for seeding projects from LLM-generated breakdowns
- SQLAlchemy models with proper relationships and cascade deletes
- Status tracking (backlog, in_progress, blocked, done)
- Auto-generated OpenAPI documentation

Frontend (React + Vite + Tailwind):
- Dark cyberpunk theme with orange accents
- Project list page with create/import/delete functionality
- Dual view modes:
  * Tree View: Collapsible hierarchical display with inline editing
  * Kanban Board: Drag-and-drop status management
- Real-time CRUD operations for tasks and subtasks
- JSON import modal with validation
- Responsive design optimized for desktop

Infrastructure:
- Docker setup with multi-stage builds
- docker-compose for orchestration
- Nginx reverse proxy for production frontend
- Named volume for SQLite persistence
- CORS configuration for local development

Documentation:
- Comprehensive README with setup instructions
- Example JSON import file demonstrating nested structure
- API endpoint documentation
- Data model diagrams
2025-11-19 22:51:42 +00:00
serversdwn
bac534ce94 initial commit 2025-11-19 17:23:32 -05:00