navidocs/CLOUD_SESSION_PROMPT_1_PHOTO_INVENTORY.md
Danny Stocker 5d4febf777 [AGENT-9] Final checkpoint - all cloud session artifacts and demo readiness
- Add AUTONOMOUS-NEXT-TASKS.md (tasks for next agent execution)
- Add cloud session prompt documents (1-4)
- Add GITHUB_READINESS_REPORT.md (deployment status)
- Add GIT_STATE_REPORT.md (git state verification)
- Add feature-selector-complete.html (demo UI)
- Add demo-data/ directory (sample data for demo)
- Add .github/ workflows (CI/CD configuration)

Ready for cloud session launch.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 11:02:49 +01:00

4.4 KiB

Cloud Session 1: Photo Inventory System

Session ID: CLOUD-1-PHOTO-INVENTORY Timeline: 90 minutes Deadline: 4 hours from now (Riviera Plaisance presentation) Target: Build boat photo gallery + inventory tagging system


Your Mission

Add sticky daily-use photo management to NaviDocs MVP. Boat owners should be able to:

  • Upload boat photos (exterior, interior, systems)
  • Tag photos by system (engine, electrical, hull, interior)
  • Search photos by tag
  • View inventory checklist with photo evidence
  • Export photo inventory for insurance/resale documentation

This solves the "€15K-€50K forgotten value" problem - owners can't remember what upgrades they have until resale.


Quick Start

  1. Clone repo:

    git clone https://github.com/dannystocker/navidocs.git && cd navidocs
    
  2. Read your brief:

    cat /home/setup/navidocs/CLOUD_SESSION_1_MARKET_RESEARCH.md | head -80
    
  3. Check current blockers:

    cat /home/setup/navidocs/SESSION_DEBUG_BLOCKERS.md
    
  4. Review codebase structure:

    • Frontend: /src/app/ (Next.js 14 with App Router)
    • API: /src/api/ (Prisma + Meilisearch)
    • Database: schema.prisma (13 tables, photos table ready)
    • Components: /src/components/ (Tailwind + shadcn/ui)

Your Task List

  • Design: Photo upload UI component (drag-drop, multi-select)
  • Database: Extend PhotoInventory table with tags (engine, electrical, hull, interior, etc.)
  • API: Create 3 endpoints:
    • POST /api/photos/upload - Store with system tags
    • GET /api/photos/by-tag/:tag - Filter by system type
    • GET /api/photos/inventory-list - Full inventory with photo count
  • Frontend: Photo gallery grid component with tag filtering
  • Search Integration: Add photo metadata to Meilisearch index
  • Git commit: [AGENT-1] Add photo inventory system with tag filtering
  • Create issue: [AGENT-1] DEPLOY-READY: Photo Inventory System with:
    • Screenshots of photo upload & gallery
    • API test results
    • Estimated storage impact
    • Deployment steps for StackCP

Technical Context

Stack:

  • Frontend: Next.js 14 (App Router)
  • API: Node.js + Prisma ORM
  • Database: PostgreSQL (17 tables)
  • Search: Meilisearch (already integrated)
  • Storage: StackCP filesystem (/public/uploads/photos/)
  • UI: Tailwind CSS + shadcn/ui components

Key Files to Modify:

  • prisma/schema.prisma - Add photo tags
  • src/app/api/photos/route.ts - Create upload endpoints
  • src/components/PhotoGallery.tsx - Create gallery UI
  • src/app/inventory/photos/page.tsx - Photo inventory page

Design Specs:

  • Photo upload max: 5MB per image (JPEG/PNG)
  • Supported tags: engine, electrical, hull, interior, deck, safety, upgrade, other
  • Gallery: 3-column grid (desktop), 2-column (tablet), 1-column (mobile)
  • Tag filter: Multi-select with counts (e.g., "Engine (12)")

Critical Notes

  1. Demo Focus: Owners see boat photos + auto-populated inventory list with photo evidence
  2. Sticky Engagement: "Check boat photos while away" = daily app habit
  3. Insurance Value: Photo timestamped inventory = proof of ownership/upgrades
  4. Resale Value: Export photo manifest to potential buyers
  5. Must work offline: Photos should load from cache for remote boats

GitHub Access


Success Criteria

Photo upload working (multi-select, drag-drop) Photos visible in gallery with tags Search filters by tag return correct results API endpoints return correct JSON No console errors in browser/server Component responsive on mobile/tablet/desktop Git commit with [AGENT-1] tag


If Blocked

  1. Check /home/setup/navidocs/SESSION_DEBUG_BLOCKERS.md for known issues
  2. Verify PostgreSQL connection: echo "SELECT version()" | psql
  3. Verify Meilisearch running: curl http://localhost:7700/health
  4. Review existing photos API: grep -r "POST /api/photos" src/
  5. Create issue: [AGENT-1] BLOCKER: [description]

Questions?

Read these files for context:

  • ARCHITECTURE-SUMMARY.md - System design
  • BUILD_COMPLETE.md - What's already working
  • DEMO-GUIDE.md - Feature showcase guide