Files
PriceUpdaterAppv2/.kiro/specs/tui-missing-screens/tasks.md

7.7 KiB

Implementation Plan

  • 1. Create core service classes for data management

    • Create ScheduleService class for managing scheduled operations with JSON persistence
    • Create LogService class for reading and parsing Progress.md files
    • Create TagAnalysisService class for fetching and analyzing Shopify product tags
    • Requirements: 5.1, 5.2, 5.3
  • 2. Implement ScheduleService with JSON persistence

    • Write loadSchedules() method to read from schedules.json file
    • Write saveSchedules() method to persist schedules to JSON file
    • Write addSchedule(), updateSchedule(), deleteSchedule() CRUD methods
    • Write validateSchedule() method for schedule data validation
    • Create unit tests for all ScheduleService methods
    • Requirements: 1.6, 5.1
  • 3. Implement LogService for Progress.md parsing

    • Write getLogFiles() method to discover available log files
    • Write readLogFile() method to read Progress.md content
    • Write parseLogContent() method to extract structured log entries
    • Write filterLogs() method for date range, operation type, and status filtering
    • Write paginateLogs() method for handling large log files
    • Create unit tests for all LogService methods
    • Requirements: 2.1, 2.3, 2.4, 2.5
  • 4. Implement TagAnalysisService with Shopify API integration

    • Write fetchAllTags() method using existing ShopifyService
    • Write getTagDetails() method to analyze products for a specific tag
    • Write calculateTagStatistics() method for product counts, values, and price ranges
    • Write searchTags() method for filtering tags by search query
    • Create unit tests for all TagAnalysisService methods
    • Requirements: 3.1, 3.2, 3.3, 3.4, 3.6
  • 5. Create reusable TUI components

    • Create ErrorDisplay component for consistent error messaging
    • Create LoadingIndicator component for progress indication
    • Create Pagination component for navigating large datasets
    • Create FormInput component for text input fields
    • Write unit tests for all reusable components
    • Requirements: 4.1, 4.3, 4.5
  • 6. Implement basic Scheduling screen structure

    • Create SchedulingScreen component with main schedule list view
    • Implement keyboard navigation (↑/↓ arrows, Enter, Esc)
    • Add state management for schedules list and selected index
    • Integrate with ScheduleService to load and display existing schedules
    • Add basic schedule status indicators (pending, completed, failed)
    • Requirements: 1.1, 1.7, 4.1, 4.2
  • 7. Add schedule creation functionality to Scheduling screen

    • Create "Add New Schedule" form interface
    • Implement form fields for operation type, date/time, and recurrence
    • Add form validation for required fields and valid date/time values
    • Integrate with ScheduleService to save new schedules
    • Add success/error feedback for schedule creation
    • Requirements: 1.2, 1.3, 1.4, 1.5, 1.6
  • 8. Add schedule management features to Scheduling screen

    • Implement edit functionality for existing schedules
    • Add delete confirmation and schedule removal
    • Add schedule enable/disable toggle functionality
    • Display schedule execution instructions and status
    • Add error handling for schedule operations
    • Requirements: 1.8, 1.9, 4.5
  • 9. Implement basic View Logs screen structure

    • Create ViewLogsScreen component with log file list view
    • Implement keyboard navigation for log file selection
    • Add state management for log files, selected file, and content
    • Integrate with LogService to discover and list available log files
    • Display log file metadata (size, creation date, operation count)
    • Requirements: 2.1, 2.8, 4.1, 4.2
  • 10. Add log content viewing functionality

    • Implement log content display with syntax highlighting
    • Add pagination for large log files using Pagination component
    • Implement scrolling through log content with keyboard controls
    • Add log entry type highlighting (errors, warnings, success messages)
    • Handle empty log files with helpful messaging
    • Requirements: 2.2, 2.4, 2.6, 2.7
  • 11. Add log filtering and search capabilities

    • Implement filter interface for date range, operation type, and status
    • Add search functionality within log content
    • Integrate filtering with LogService filterLogs() method
    • Update pagination to work with filtered results
    • Add filter status indicators and clear filter options
    • Requirements: 2.3, 2.5
  • 12. Implement basic Tag Analysis screen structure

    • Create TagAnalysisScreen component with tag list view
    • Implement keyboard navigation for tag selection
    • Add state management for tags, selected tag, and analysis status
    • Integrate with TagAnalysisService to fetch store tags
    • Display loading indicators during tag fetching
    • Requirements: 3.1, 3.9, 4.1, 4.2
  • 13. Add tag statistics and analysis features

    • Display tag statistics (product count, variant count, total value)
    • Implement tag details view showing products and prices
    • Add price range calculations and average price display
    • Show detailed product information for selected tags
    • Add error handling for API connection failures
    • Requirements: 3.2, 3.3, 3.4, 3.6, 3.9
  • 14. Add tag search and configuration integration

    • Implement search/filter functionality for tag list
    • Add tag selection for immediate use in configuration
    • Integrate with existing configuration system to update target tag
    • Add confirmation dialogs for configuration updates
    • Handle tag selection workflow and navigation
    • Requirements: 3.7, 3.8, 5.5
  • 15. Update main TUI entry point with new screens

    • Modify tui-entry.js to include new screen navigation options
    • Update main menu to remove "coming soon" placeholders
    • Add screen routing logic for Scheduling, View Logs, and Tag Analysis
    • Ensure consistent navigation patterns across all screens
    • Update help text and keyboard shortcuts documentation
    • Requirements: 4.1, 4.2, 4.6
  • 16. Implement comprehensive error handling

    • Add error boundaries for each new screen
    • Implement retry logic for API failures in Tag Analysis
    • Add graceful handling of missing files (schedules.json, Progress.md)
    • Create consistent error messaging across all screens
    • Add troubleshooting guidance for common issues
    • Requirements: 4.5, 3.9, 2.7
  • 17. Add data persistence and state management

    • Ensure schedules persist correctly to schedules.json file
    • Implement proper state cleanup when switching screens
    • Add data validation for all user inputs
    • Handle concurrent access to shared files safely
    • Implement proper error recovery for file operations
    • Requirements: 5.1, 5.2, 5.4, 5.6
  • 18. Create integration tests for new screens

    • Write integration tests for Scheduling screen workflow
    • Write integration tests for View Logs screen functionality
    • Write integration tests for Tag Analysis screen operations
    • Test navigation between screens and state preservation
    • Test error handling and recovery scenarios
    • Requirements: 4.1, 4.2, 4.3, 4.4, 4.5
  • 19. Add performance optimizations

    • Implement lazy loading for large tag lists in Tag Analysis
    • Add efficient pagination for log content viewing
    • Optimize memory usage for large datasets
    • Add caching for frequently accessed tag data
    • Implement proper cleanup of resources and event listeners
    • Requirements: 2.4, 3.1, 3.2
  • 20. Final testing and polish

    • Conduct end-to-end testing of all new screens
    • Test keyboard navigation consistency across all screens
    • Verify consistent styling and color schemes
    • Test integration with existing Configuration and Operations screens
    • Add final documentation and help text updates
    • Requirements: 4.1, 4.2, 4.3, 4.4, 4.5, 4.6