# Syntaxis - Features Guide Comprehensive feature comparison and documentation for the **Terminal UI (TUI)** and **Web Dashboard** interfaces. --- ## πŸ“Š Feature Parity Matrix ### Project Management | Feature | TUI | Dashboard | Notes | |---------|-----|-----------|-------| | View Projects List | βœ… | βœ… | Table/grid display of all projects | | View Project Details | βœ… | βœ… | Detailed information per project | | Create Projects | βœ… | βœ… | Form-based project creation | | Delete Projects | ❌ | βœ… | Future TUI enhancement | | Search Projects | ❌ | βœ… | Filter by name/description | | View Security Assessments | βœ… | βœ… | Security profile & risk levels | | Project Phases | βœ… | βœ… | Track current phase | ### Task Management | Feature | TUI | Dashboard | Notes | |---------|-----|-----------|-------| | View Task List | βœ… | βœ… | All tasks for a project | | Create Tasks | βœ… | βœ… | Add new tasks/checklists | | Complete/Uncomplete Tasks | βœ… | βœ… | Toggle completion status | | Task Priority Levels | βœ… | βœ… | Critical, High, Medium, Low | | Task Type Classifications | βœ… | βœ… | Feature, BugFix, Documentation, Testing, Deployment, Maintenance | | View Task Details | βœ… | βœ… | ID, description, priority, type, status | ### Task Sorting | Sort Option | TUI | Dashboard | Details | |-------------|-----|-----------|---------| | Newest First | βœ… | βœ… | Sort by creation date (descending) | | Oldest First | βœ… | βœ… | Sort by creation date (ascending) | | Highest Priority | βœ… | βœ… | Critical β†’ High β†’ Medium β†’ Low | | Lowest Priority | βœ… | βœ… | Low β†’ Medium β†’ High β†’ Critical | | Completed First | βœ… | βœ… | Completed tasks before pending | | Pending First | βœ… | βœ… | Pending tasks before completed | | **Total Sort Options** | **6** | **6** | **Feature Parity Achieved βœ…** | ### Task Filtering | Feature | TUI | Dashboard | Details | |---------|-----|-----------|---------| | Show All Tasks | βœ… | βœ… | Display entire task list | | Show Pending Only | βœ… | βœ… | Filter to incomplete tasks | | Show Completed Only | βœ… | βœ… | Filter to completed tasks | | Search by Description | βœ… | βœ… | Real-time text search | | Filter by Priority | ❌ | βœ… | Future TUI enhancement | ### Task Statistics | Metric | TUI | Dashboard | Details | |--------|-----|-----------|---------| | Total Tasks Count | βœ… | βœ… | Complete task count | | Completed Count | βœ… | βœ… | Number of completed tasks | | Pending Count | βœ… | βœ… | Number of incomplete tasks | | Completion Percentage | βœ… | βœ… | (Completed / Total) Γ— 100 | | Progress Bar | βœ… | βœ… | Visual progress visualization | | Per-Priority Statistics | ❌ | βœ… | Breakdown by priority level | | Per-Type Statistics | ❌ | βœ… | Breakdown by task type | ### User Interface | Feature | TUI | Dashboard | Details | |---------|-----|-----------|---------| | Keyboard Navigation | βœ… | ⚠️ | TUI has vim-style (hjkl) keys | | Mouse Support | ❌ | βœ… | Dashboard has full mouse support | | Responsive Design | βœ… | βœ… | Adapts to screen/window size | | Color Themes | ❌ | βœ… | Future enhancement for TUI | | Dark Mode | ❌ | βœ… | Supported in Dashboard | | Real-time Updates | βœ… | βœ… | Live data synchronization | --- ## 🎯 Task Priority Levels Both TUI and Dashboard support identical priority classifications: ``` Critical (πŸ”΄) - Highest priority, needs immediate attention High (🟠) - Important, should be completed soon Medium (🟑) - Standard priority (default) Low (🟒) - Can be deferred ``` ### Priority Sorting Behavior - **Highest Priority Sort**: Critical β†’ High β†’ Medium β†’ Low - **Lowest Priority Sort**: Low β†’ Medium β†’ High β†’ Critical - **Default Priority**: Medium (applied to tasks without explicit priority) --- ## 🏷️ Task Type Classifications Both TUI and Dashboard recognize six task type categories: | Type | Icon | Purpose | Use Case | |------|------|---------|----------| | Feature | ⭐ | New feature implementation | Building new capabilities | | BugFix | πŸ› | Bug fixes and patches | Fixing issues and regressions | | Documentation | πŸ“š | Documentation and guides | Writing docs and guides | | Testing | βœ” | Testing and QA tasks | Quality assurance work | | Deployment | πŸš€ | Deployment and release | Release management | | Maintenance | πŸ”§ | Maintenance and updates | Ongoing maintenance work | ### Default Task Type When a task doesn't specify a type, it defaults to **Feature**. --- ## πŸ“ˆ Statistics Calculation ### Real-time Metrics Both TUI and Dashboard continuously calculate: 1. **Total Tasks**: Sum of all tasks in a project ``` Total = Count(all tasks) ``` 2. **Completed Count**: Tasks marked as done ``` Completed = Count(tasks where completed == true) ``` 3. **Pending Count**: Tasks not yet completed ``` Pending = Total - Completed ``` 4. **Completion Percentage**: Project progress indicator ``` Percentage = (Completed / Total) Γ— 100 ``` 5. **Progress Bar**: Visual representation - Filled: β–ˆ (completed) - Empty: β–‘ (pending) ### Example Calculation For a project with 10 tasks (7 completed, 3 pending): ``` Total: 10 Completed: 7 Pending: 3 Completion %: 70.0% Progress Bar: [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘] ``` --- ## 🎨 Display Examples ### Terminal UI (TUI) - Task Statistics Screen ``` β”Œβ”€ Statistics ──────────────────────────────────────────────┐ β”‚ Total: 10 | Completed: 7 βœ“ | Pending: 3 ⏳ | Progress: 70.0% β”‚ β”‚ [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘] β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”Œβ”€ Tasks (10) [Filtered] ───────────────────┬─ Details ─────────┐ β”‚ [βœ“] Implement authentication β”‚ ID: task_001 β”‚ β”‚ [ ] Add caching layer β”‚ Priority: High β”‚ β”‚ [βœ“] Write documentation β”‚ Type: Feature β”‚ β”‚ [ ] Setup CI/CD pipeline β”‚ β”‚ β”‚ [βœ“] Deploy to staging β”‚ Status: Completed β”‚ β”‚ ... β”‚ Created: 2025-... β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Help: q/Esc: Quit | ↑↓: Navigate | Space: Toggle | n: New | /: Filter ``` ### Web Dashboard - Task Statistics Display ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Statistics β”‚ │─────────────────────────────────────────────────────────│ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ Total β”‚ β”‚Completed β”‚ β”‚ Completion % β”‚ β”‚ β”‚ β”‚ 10 β”‚ β”‚ 7 β”‚ β”‚ 70.0% β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘] β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## ⌨️ Terminal UI (TUI) Key Bindings ### General Navigation - **q** or **Esc**: Quit application - **Tab**: Switch between main screens ### Projects Screen - **↑/k** or **↓/j**: Navigate projects - **Enter**: View project details - **c**: Create new project - **s**: View security assessments ### Tasks Screen - **↑/k** or **↓/j**: Navigate task list - **Space**: Toggle task completion - **n**: Create new task - **/**: Open sort/filter menu - **f**: Toggle completion filter - **c**: Clear all filters - **←/h** or **β†’/l**: Navigate sort options - **Enter**: Apply selected sort - **b**: Back to project details ### Edit Screens - **b**: Cancel and go back --- ## πŸ”„ Implementation Details ### Data Models Both TUI and Dashboard use identical data structures: ```rust struct ChecklistItemDto { id: String, task_id: String, description: String, completed: bool, completed_at: Option, created_at: String, priority: TaskPriority, // Added in Phase 12 task_type: TaskType, // Added in Phase 12 } enum TaskPriority { Critical, High, Medium, Low, } enum TaskType { Feature, BugFix, Documentation, Testing, Deployment, Maintenance, } ``` ### Backward Compatibility Both applications use `#[serde(default)]` attributes on new fields, ensuring compatibility with older API versions that don't return priority/type information. ### Sorting Implementation Type-safe sorting using Rust enums: ```rust pub(crate) enum TaskSortOption { CreatedNewest, CreatedOldest, PriorityHighest, PriorityLowest, CompletedFirst, PendingFirst, } ``` --- ## πŸ“‹ Comparison Summary ### When to Use TUI βœ… **Best for:** - Command-line workflows - Remote SSH sessions (no GUI needed) - Power users comfortable with keyboard navigation - Minimal resource usage - Quick task management without browser overhead ### When to Use Dashboard βœ… **Best for:** - Team collaboration (shared dashboard view) - Visual project overview - Mouse-based navigation preference - Complex filtering and analysis - Advanced reporting (per-priority/type statistics) - Mobile/tablet access (responsive web design) ### Feature Parity (Phase 12) **TUI Capabilities:** - 6 sort options βœ… - Task statistics with progress bar βœ… - Priority and type support βœ… - Real-time filtering βœ… - Vim-style navigation βœ… **Dashboard Capabilities:** - 6 sort options βœ… - Task statistics with breakdown βœ… - Priority and type support βœ… - Advanced filtering (by priority/type) βœ… - Mouse and keyboard support βœ… - Mobile responsive design βœ… --- ## πŸš€ Roadmap ### Short Term (Next Sprint) - [ ] Display priority/type badges in TUI task list - [ ] Filter by priority in TUI - [ ] Dashboard export to CSV/JSON - [ ] Task due date support ### Medium Term (Q1 2025) - [ ] Priority/type breakdown statistics (both interfaces) - [ ] TUI color themes - [ ] Dashboard mobile improvements - [ ] Task dependency tracking ### Long Term (Q2+ 2025) - [ ] Team collaboration features - [ ] Task assignment and notifications - [ ] Burndown chart visualization - [ ] Integration with external tools - [ ] API rate limiting and caching --- ## πŸ“š Related Documentation - **TUI README**: `crates/syntaxis-tui/README.md` - **Dashboard README**: `crates/syntaxis-dashboard/README.md` - **API Documentation**: `crates/syntaxis-api/README.md` - **Architecture Guide**: `ARCHITECTURE.md` --- **Last Updated**: November 14, 2025 **Status**: Feature Parity Achieved βœ… (Phase 12) **Tests**: 52 TUI + 12 Dashboard = 64 tests passing βœ