Skip to content

Phase 3: Companion Web Portal (Fields Studio) - Architecture Design #12

@tkkr6895

Description

@tkkr6895

Description

Design the architecture for Fields Studio — a companion web portal for heavy geospatial data processing. The portal will handle Shapefile, GeoTIFF, and COG uploads via server-side GDAL, producing downloadable layer packs compatible with the mobile app's DatasetManager.

This is a design-only deliverable — no implementation code, only architecture documents.

Implementation Tasks

  • 3.5.1 — Design web portal architecture: file upload → GDAL processing → PMTiles/GeoJSON output, deployment strategy (docs/plan/FIELDS_STUDIO_DESIGN.md)
  • 3.5.2 — Design Shapefile → GeoJSON conversion pipeline: CRS detection/reprojection, attribute mapping, large file chunking (server-side GDAL) (Design only)
  • 3.5.3 — Design GeoTIFF/COG → PMTiles conversion pipeline: tiling strategy, zoom levels, band selection, compression (Design only)
  • 3.5.4 — Design downloadable layer pack format: manifest.json schema + data files, compatible with app's DatasetManager and dataset-manifest.json (Design only)

Acceptance Criteria

  • Architecture document (FIELDS_STUDIO_DESIGN.md) covers:
    • System architecture diagram (upload service, processing queue, storage, CDN)
    • Technology stack recommendations (GDAL, tippecanoe/pmtiles, cloud provider)
    • File upload flow with size limits, format validation, progress tracking
    • Processing pipeline with queue management and error handling
    • Authentication and user management for team deployments
    • Deployment strategy (e.g. fields-studio.web.app)
  • Shapefile pipeline design handles CRS detection, reprojection to EPSG:4326, and files >1 GB
  • GeoTIFF pipeline design includes zoom level calculation, band selection, and COG optimization
  • Layer pack format is fully documented with JSON schema
  • Layer pack manifest.json is validated as compatible with DatasetManager.ts and public/data/dataset-manifest.json

Dependencies

  • Custom Layer system (1.8, ✅ complete) — pack format must be compatible with in-app layer imports
  • DatasetManager (src/services/DatasetManager.ts) — understand existing layer loading patterns
  • Dataset manifest format (public/data/dataset-manifest.json)

Relevant Files

  • docs/plan/FIELDS_STUDIO_DESIGN.md (new)
  • src/services/DatasetManager.ts — existing layer loading
  • src/services/CustomLayerManager.ts — in-app import patterns
  • public/data/dataset-manifest.json — existing manifest format

Metadata

Metadata

Assignees

No one assigned

    Labels

    designDesign & architectureinfrastructureInfrastructure & toolingphase-3Phase 3: Pilot & Scale

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions