| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394 |
- {
- "project_id": "21",
- "sprints": [
- {
- "id": 83,
- "name": "Sprint 8",
- "estimated_start": "2026-06-04",
- "estimated_finish": "2026-06-10",
- "closed": true
- },
- {
- "id": 82,
- "name": "Sprint 7",
- "estimated_start": "2026-05-28",
- "estimated_finish": "2026-06-03",
- "closed": true
- },
- {
- "id": 73,
- "name": "Sprint 6",
- "estimated_start": "2026-05-21",
- "estimated_finish": "2026-05-28",
- "closed": true
- },
- {
- "id": 89,
- "name": "Sprint 7: Production Hardening & Handover",
- "estimated_start": "2026-05-18",
- "estimated_finish": "2026-05-20",
- "closed": true
- },
- {
- "id": 72,
- "name": "Sprint 5",
- "estimated_start": "2026-05-14",
- "estimated_finish": "2026-05-21",
- "closed": true
- },
- {
- "id": 88,
- "name": "Sprint 13",
- "estimated_start": "2026-05-12",
- "estimated_finish": "2026-05-19",
- "closed": true
- },
- {
- "id": 87,
- "name": "Sprint 12",
- "estimated_start": "2026-05-11",
- "estimated_finish": "2026-05-18",
- "closed": true
- },
- {
- "id": 86,
- "name": "Sprint 11",
- "estimated_start": "2026-05-08",
- "estimated_finish": "2026-05-15",
- "closed": true
- },
- {
- "id": 71,
- "name": "Sprint 4",
- "estimated_start": "2026-05-07",
- "estimated_finish": "2026-05-14",
- "closed": true
- },
- {
- "id": 85,
- "name": "Sprint 10",
- "estimated_start": "2026-05-06",
- "estimated_finish": "2026-05-13",
- "closed": true
- },
- {
- "id": 84,
- "name": "Sprint 9",
- "estimated_start": "2026-05-04",
- "estimated_finish": "2026-05-04",
- "closed": true
- },
- {
- "id": 70,
- "name": "Sprint 3",
- "estimated_start": "2026-04-30",
- "estimated_finish": "2026-05-07",
- "closed": true
- },
- {
- "id": 69,
- "name": "Sprint 2",
- "estimated_start": "2026-04-23",
- "estimated_finish": "2026-04-30",
- "closed": true
- },
- {
- "id": 68,
- "name": "Sprint 1",
- "estimated_start": "2026-04-16",
- "estimated_finish": "2026-04-23",
- "closed": true
- }
- ],
- "user_stories": [
- {
- "id": 204,
- "subject": "US-10: Public Git repository with easy cloning support (LocalFoodAI_lanfr144)",
- "status_id": 125,
- "is_closed": false,
- "milestone": 73
- },
- {
- "id": 207,
- "subject": "US-9: 100% local data privacy (no user data leaves the server)",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 206,
- "subject": "US-1: Create an account and log in securely",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 208,
- "subject": "US-2: Get complete nutritional value information on any food",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 209,
- "subject": "US-4: Search for specific nutrient content and get a sortable list of all foods",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 211,
- "subject": "US-5: Store food combinations in named and editable lists",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 212,
- "subject": "US-11: Local hardware boundary containment on Ubuntu 24.04 VM",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 210,
- "subject": "US-3: Get the full nutritional value overview for a given food combination",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 213,
- "subject": "US-7: Freely chat about anything related to nutrition and get competent answers",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 214,
- "subject": "US-6: Get menu proposals based on nutritional value and health constraints",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- },
- {
- "id": 215,
- "subject": "US-8: Anonymous private web search tool (SearXNG) integration",
- "status_id": 125,
- "is_closed": true,
- "milestone": 71
- }
- ],
- "tasks": [
- {
- "id": 435,
- "subject": "Rebuild setup_db.py to allow dynamic Pandas table generation.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 208
- },
- {
- "id": 436,
- "subject": "Update ingest_csv.py with to_sql and post-load index generating.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 208
- },
- {
- "id": 437,
- "subject": "Create start_batch_ingest.sh wrapper for disconnected execution.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 208
- },
- {
- "id": 438,
- "subject": "Configure server .forward mail protocols for centralized admin support.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 208
- },
- {
- "id": 439,
- "subject": "Create setup_searxng.sh to install Docker and bind anonymous SearXNG to localhost:8080.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 215
- },
- {
- "id": 440,
- "subject": "Update deploy.sh to include requests connectivity dependency.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 215
- },
- {
- "id": 441,
- "subject": "Rework app.py LLM inference loop to support native Mistral Tool/Function calling integrations.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 215
- },
- {
- "id": 442,
- "subject": "Why: Applying the global CSS architecture is the direct prerequisite to making the visual information actually look premium and readable when the user views the data.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 208
- },
- {
- "id": 443,
- "subject": "Why: Building the numerical filtering sliders logically completes the \"Advanced Search\" capabilities explicitly defined by this story.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 209
- },
- {
- "id": 445,
- "subject": "Why: Generating the Pandas calculation logic that mathematically adds up the macros is what delivers the final \"Combined Value Overview\" to the user!",
- "status_id": 104,
- "is_closed": true,
- "user_story": 210
- },
- {
- "id": 446,
- "subject": "Why: The core of this story is storing data, which is entirely solved by creating the explicit relational plates and plate_items MySQL database tables.",
- "status_id": 104,
- "is_closed": true,
- "user_story": 211
- },
- {
- "id": 447,
- "subject": "Implement EAV Mapping Database Architecture",
- "status_id": 104,
- "is_closed": true,
- "user_story": 214
- },
- {
- "id": 448,
- "subject": "Fix Windows Encodings in Pandas Ingestion Engine",
- "status_id": 104,
- "is_closed": true,
- "user_story": 208
- },
- {
- "id": 449,
- "subject": "Build Dynamic 'Medical Profile' CRUD Interface",
- "status_id": 104,
- "is_closed": true,
- "user_story": 214
- },
- {
- "id": 450,
- "subject": "Deploy Clinical Health-Warning Alert Engine",
- "status_id": 104,
- "is_closed": true,
- "user_story": 214
- },
- {
- "id": 451,
- "subject": "Deploy Email Resets and Persistent Query Limits",
- "status_id": 104,
- "is_closed": true,
- "user_story": 214
- },
- {
- "id": 452,
- "subject": "Create unified PDF presentation for review",
- "status_id": 104,
- "is_closed": true,
- "user_story": 214
- },
- {
- "id": 453,
- "subject": "Execute Alembic Database Migration scripting",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 454,
- "subject": "Sanitize Ollama Mistral LLM endpoints on .170",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 455,
- "subject": "Perform Green Recommendation Engine Demo",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 546,
- "subject": "Auto‑generated task (define details)",
- "status_id": 104,
- "is_closed": true,
- "user_story": 204
- },
- {
- "id": 547,
- "subject": "Auto‑generated task (define details)",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 548,
- "subject": "Execute: Zabbix Server Docker Setup",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 549,
- "subject": "Execute: SNMPv3 Integration",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 550,
- "subject": "Execute: Application Component Traps",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 551,
- "subject": "Execute: Clinical Explorer Verification Testing",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 552,
- "subject": "Execute: Zabbix Application Monitoring Checks",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 553,
- "subject": "Execute: Zabbix Email Integration",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 554,
- "subject": "Execute: Zabbix Live Alert Testing",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- },
- {
- "id": 555,
- "subject": "Execute: Server Backup Procedures",
- "status_id": 104,
- "is_closed": true,
- "user_story": 212
- }
- ]
- }
|