Files
nick-tracker/prd.json
2026-01-11 07:51:30 +00:00

96 lines
5.1 KiB
JSON

{
"project": "nick-tracker",
"version": "1.0.0",
"features": [
{
"id": "gtd_inbox_capture",
"phase": 1,
"name": "GTD Inbox Capture",
"description": "Multi-source task capture system that ingests tasks from manual web form, REST API, email (IMAP/Microsoft Graph), and ConnectWise Manage sync into an unprocessed inbox for later GTD clarification",
"priority": 1,
"passes": false,
"acceptance": "Manual tasks can be submitted via web form quick-add and appear in inbox"
},
{
"id": "gtd_processing_workflow",
"phase": 1,
"name": "GTD Processing Workflow",
"description": "Interactive inbox processing interface that guides users through GTD clarification: converting raw inbox items into Next Actions with context tags, Projects, Waiting For items, Someday/Maybe, Reference Material, Tickler items, or Trash",
"priority": 2,
"passes": false,
"acceptance": "Inbox view displays unprocessed items with processing workflow controls"
},
{
"id": "connectwise_integration",
"phase": 2,
"name": "ConnectWise Manage Integration",
"description": "Read-only sync from ConnectWise Manage that imports service tickets, project tickets, and projects assigned to user. Projects with zero tickets surface as planning tasks. ConnectWise priority/SLA displayed for reference only; user assigns manual priority",
"priority": 3,
"passes": false,
"acceptance": "ConnectWise API integration syncs assigned service tickets as inbox items"
},
{
"id": "intelligent_calendar_scheduling",
"phase": 2,
"name": "Intelligent Calendar Scheduling",
"description": "Automatic scheduling engine that pulls from CalDAV calendars (Nextcloud, Google Calendar, Outlook via Microsoft Graph) and places actionable tasks into available time slots, respecting working hours, context constraints, deadlines, and manual priority. Supports drag-drop manual override and task locking",
"priority": 4,
"passes": false,
"acceptance": "Engine reads existing events from CalDAV/Google/Outlook calendars"
},
{
"id": "calendar_week_view",
"phase": 2,
"name": "Interactive Calendar Week View",
"description": "React SPA with interactive week-view calendar displaying scheduled tasks and calendar events. Supports drag-and-drop task rescheduling, manual time adjustments, and real-time updates when scheduling changes occur",
"priority": 5,
"passes": false,
"acceptance": "Week view renders all scheduled tasks and synced calendar events"
},
{
"id": "weekly_review_interface",
"phase": 3,
"name": "Weekly Review Interface",
"description": "Dedicated GTD Weekly Review interface with auto-scheduled recurring review block. Shows all active projects, next actions per project, unprocessed inbox count, waiting-for items, and someday/maybe list for systematic review",
"priority": 6,
"passes": false,
"acceptance": "Weekly Review block auto-scheduled at user-configured recurring time"
},
{
"id": "gtd_contexts_and_domains",
"phase": 3,
"name": "GTD Contexts and Life Domains",
"description": "Context label system (@desk, @phone, @errand, @homelab, @anywhere) and domain organization covering Work (ConnectWise tasks), Homelab (Proxmox, networking, 3D printing, NAS), Daily Routines (meals, exercise, supplements), House (maintenance, errands, cleaning), and Professional Development (Azure certification)",
"priority": 7,
"passes": false,
"acceptance": "Tasks taggable with context labels (@desk, @phone, @errand, @homelab, @anywhere)"
},
{
"id": "waiting_for_and_tickler",
"phase": 3,
"name": "Waiting For and Tickler System",
"description": "Waiting For list tracks items delegated or awaiting external input with optional follow-up dates. Tickler/Deferred items stored with future activation dates and automatically surface to inbox on specified date",
"priority": 8,
"passes": false,
"acceptance": "Waiting For list displays all items awaiting external action"
},
{
"id": "project_management",
"phase": 4,
"name": "GTD Project Management",
"description": "Project hierarchy supporting multi-step outcomes with next actions, reference material attachments, notes, and project status tracking. ConnectWise projects with zero tickets surface as planning tasks requiring work breakdown",
"priority": 9,
"passes": false,
"acceptance": "Projects created with name, description, desired outcome, and domain"
},
{
"id": "notifications_and_rescheduling",
"phase": 4,
"name": "Notifications and Rescheduling Alerts",
"description": "Real-time notification system via WebSocket, email, and optional webhook when automatic rescheduling occurs due to calendar conflicts, when Waiting For follow-ups are due, or when Tickler items activate",
"priority": 10,
"passes": false,
"acceptance": "WebSocket push notifications to active browser sessions when tasks reschedule"
}
]
}