Skip to content

System Overview

Complete overview of the S-MA-C-H system, components, and the artwork monitoring workflow.

Components

Web Application (Angular)

Users: All roles Purpose: Central management and monitoring platform

Key Functions:

  • Manage collections and artworks
  • Configure environmental monitoring thresholds per artwork
  • View active monitorings (static + transport)
  • Monitor real-time alerts and events
  • View historical monitoring data
  • Analyze sensor data
  • Generate artwork passports (v1.0.0)

StaRT Mobile Application (React Native)

Users: Administrators and Super-Admins (on-site) Developer: Jay Purpose: On-site monitoring execution

Key Functions:

  • View Ready artworks
  • Setup monitoring: Select type (static/transport), auto-detect dataloggers, configure thresholds
  • Start monitoring: Begin recording with GPS + timestamp
  • Stop monitoring: End recording with GPS + timestamp
  • Push events to backend (start, alerts, stop)
  • Capture photos during monitoring

Backend API (Spring Boot)

Technology: Java, Spring Boot, MongoDB Purpose: Central data and business logic

Key Functions:

  • RESTful API for web and mobile apps
  • Data management (MongoDB)
  • File storage (MinIO/S3)
  • Authentication (Keycloak integration)
  • Alert processing
  • Event-based workflow
  • Artwork passport generation (v1.0.0)

IoT Dataloggers

Manufacturer: AES Techno Purpose: Environmental monitoring

Hardware Setup:

  • 1 Logger (box) connects via plug to 1 Sensor
  • 1 Sensor contains 1-3 captors depending on model:
    • Temperature (°C)
    • Humidity (% RH)
    • Accelerometer (3-axis, mm/s) - indicates transport monitoring
  • Datalogger = Logger + Sensor (connected pair)

Data Flow:

  1. Configuration: Administrator/Super-Admin (StaRT) → Bluetooth → Datalogger
  2. Recording: Datalogger collects data locally
  3. Alerts: Datalogger → Bluetooth → StaRT → Backend API → Web App
  4. Upload: Datalogger → USB → Computer → S3

Artwork Model

An Artwork is the central resource in the system. Each artwork can have multiple monitoring sessions over time.

Artwork Structure

Organization > Collection > Artwork

Artwork:
  status: Draft > Ready > Standby > Monitoring > Analysing > Archived
  ├── Inclosure (static protection in museum/storage)
  ├── Crate (transport protection)
  ├── Checklist (common monitoring tasks)
  ├── Base Configuration (thresholds + frequency for all devices)
  ├── Monitorings [0-N] (history of all monitoring sessions)
  │   ├── Monitoring 1 (Completed) - Static
  │   ├── Monitoring 2 (Completed) - Transport
  │   └── Monitoring 3 (InProgress) - Active monitoring
  ├── (v1.0.0) S3 Data Space (photos, uploads, analysis, documents)
  └── (v1.0.0) Passport (synthesis of all analyses)

Key Concepts:

  • 1 Artwork can have multiple Monitorings over time (history)
  • Only 1 active Monitoring per Artwork at any time
  • Monitoring types:
    • static: Museum/storage monitoring (uses Inclosure)
    • transport: Movement monitoring (uses Crate, optionally Inclosure inside depending on artwork)
  • Auto-detection: If accelerometer sensor detected → suggests transport type

Inventory Items

All packaging and equipment are managed in the Inventory (3 types):

  • Logger (box) - IMEI unique identifier
  • Sensor - IMEI unique identifier
    • Contains 1-3 captors (temperature, humidity, accelerometer)
  • Packaging:
    • Inclosure: Static protection (associated with artwork, optional in crate during transport)
    • Crate: Transport protection (used only for transport monitoring)

Datalogger Association:

  • Datalogger = Logger + Sensor (connected pair)
  • NOT stored in inventory as separate entity
  • Extracted from active monitorings (auto-detected by StaRT during Setup)
  • Loggers and Sensors can show "in use" status in lists (link to Monitoring → Artwork)

Inventory is shared across artworks (not sub-resources). Items are sold by S-MA-C-H to organizations (v1.0.0).


Artwork States

Artwork status is determined by its active monitoring:

StateDescriptionBased on MonitoringWhoCan Cancel?
DraftBeing configuredNo monitoringAdministrator✅ Yes
ReadyConfigured, no active monitoringNo active monitoring OR last monitoring CompletedAdministrator✅ Yes (only when no active monitoring)
StandbyMonitoring created, waiting for Start1 monitoring in PendingSystem (after Setup)❌ No (monitoring active)
MonitoringRecording active1 monitoring in InProgressSystem (after Start)❌ No (monitoring active)
AnalysingData uploaded, awaiting analysis1 monitoring in UploadedSystem (after data upload)❌ No
ArchivedArtwork no longer monitoredAll monitorings CompletedAdministrator/Super-Admin❌ No
CancelledArtwork cancelled-Administrator/Super-Admin-

Cancellation Restrictions

An artwork can only be cancelled when in Draft or Ready state. Once a monitoring is active (Standby, Monitoring, or Analysing), the artwork cannot be cancelled to avoid disrupting active monitoring sessions. The monitoring must reach Completed state first.

One Active Monitoring Per Artwork

An artwork can only have one active monitoring at a time (either Pending or InProgress). Previous monitorings must reach Ended or Completed before creating a new one.


Monitoring States

Each monitoring session is auto-created by StaRT Setup and progresses through analysis:

StateDescriptionData CollectedWho
PendingMonitoring created, waiting for StartType (static/transport), dataloggers detected, config overriddenAdministrator/Super-Admin (StaRT Setup)
InProgressRecording active, collecting eventsStart event, alerts, positions (if transport)Administrator/Super-Admin (StaRT Start)
EndedRecording stoppedStop eventAdministrator/Super-Admin (StaRT Stop)
UploadedData uploaded to S3, awaiting analysisS3 data referenceSystem (USB upload)
CompletedExpert analysis completeAnalysis, comments, chartsAdministrator/Super-Admin (Web)

Monitoring Data Collection by State

Pending (Phase 1 - Setup):

  • Type: static OR transport
  • Dataloggers: auto-detected list (Logger + Sensor pairs)
  • Configuration: overridden or default from Artwork.baseConfig

InProgress (Phase 2 - Start → Events → Stop):

  • Start event: timestamp + GPS location
  • Alert events: threshold violations (temperature, humidity, vibration)
  • Position events: GPS tracking during journey (transport only)
  • Stop event: timestamp + GPS location

Uploaded (Phase 3 - Data Upload):

  • S3 data reference (uploaded via USB)
  • Full sensor data available in S3

Completed (Phase 4 - Expert Analysis):

  • Expert comments
  • Data analysis charts
  • Artwork passport updates (v1.0.0)
  • Reports

Monitoring Cannot Be Restarted

Once Stop is pressed, the monitoring enters Ended state and CANNOT be restarted. To create a new monitoring session, use Setup again in StaRT to create a new monitoring.


Monitoring Workflow

Complete lifecycle from creation to analysis.

Phase 1: Setup (Administrator/Super-Admin using StaRT)

On-Site - Using StaRT Mobile App

Two paths to Start:

Path 1 - New Monitoring (Setup first):

Auth → Org → GET /artworks?status=Ready → Select Artwork → Setup → Start

Path 2 - Resume Monitoring (Start later):

Auth → Org → GET /artworks?status=Standby → Select Artwork → Start

Setup Actions (Path 1 only):

  1. Authenticate in StaRT app
  2. Select organization (if multiple in JWT)
  3. GET /artworks?status=Ready → List artworks ready for setup
  4. Select Artwork
  5. Press "Setup" button:
    • Select monitoring type: static (museum) OR transport (movement)
      • Auto-suggest transport if accelerometer sensor detected
    • Auto-detect dataloggers via Bluetooth
      • Displays list of detected Logger+Sensor pairs (dataloggers)
    • Review/adjust configuration from Artwork.baseConfig:
      • Temperature thresholds
      • Humidity thresholds
      • Vibration thresholds
      • Recording frequency
    • Push configuration to dataloggers (via Bluetooth)
  6. POST /artworks/{id}/monitoring → Creates monitoring
    • Response: { "id": "monitoring-uuid", "status": "Pending", "type": "transport", ... }

Result (both paths):

  • Monitoring object displayed (dataloggers, config)
  • StaRT stores monitoring-uuid in session
  • Ready for Start button
  • Artwork status: ReadyStandby (Path 1 only)

Monitoring Type Selection

  • Static: Museum/storage monitoring (uses Inclosure protection)
  • Transport: Movement monitoring (uses Crate, optionally Inclosure inside depending on artwork)
  • Auto-suggestion: If accelerometer sensor detected, StaRT suggests transport type

Phase 2: Start (Administrator/Super-Admin using StaRT)

On-Site - Monitoring Location

Common for both paths:

Display Monitoring → Press "Start" Button

  1. Press "Start" button:
    • Start dataloggers recording (Bluetooth command)
    • Push start event to API:
      json
      POST /artworks/{artworkId}/monitorings/events
      {
        "type": "start",
        "severity": "info",
        "date": "2025-01-08T10:00:00Z",
        "location": { "latitude": 49.276, "longitude": -0.702 },
        "sourceType": "monitoring",
        "source": "monitoring-uuid"
      }

Result:

  • Monitoring status: PendingInProgress
  • Artwork status: StandbyMonitoring
  • StaRT opens session with selected monitoring
  • Dataloggers actively recording

Phase 3: During Monitoring (Real-time Events)

During monitoring, StaRT app pushes events to backend:

All events use unified endpoint:

POST /artworks/{artworkId}/monitorings/events

Source-Based Routing:

  • Backend uses sourceType + source to find the correct monitoring
  • No need for monitoringId in payload

Event Types:

  1. Alert Events (threshold violations from sensor):
json
{
  "type": "alert",
  "severity": "warning",
  "date": "2025-01-08T15:30:00Z",
  "location": { "latitude": 48.856, "longitude": 2.352 },
  "sourceType": "sensor",
  "source": "IMEI-sensor-123456789",
  "value": 25.5,
  "message": "high_temperature"
}

Backend finds active monitoring using this sensor IMEI

  1. Position Events (GPS tracking from logger, transport only):
json
{
  "type": "position",
  "severity": "info",
  "date": "2025-01-08T15:35:00Z",
  "location": { "latitude": 48.856, "longitude": 2.352 },
  "sourceType": "logger",
  "source": "IMEI-logger-987654321"
}

Backend finds active monitoring using this logger IMEI

  1. Notification Events (v1.0.0) (user annotations):
json
{
  "type": "notification",
  "severity": "info",
  "date": "2025-01-08T15:40:00Z",
  "location": { "latitude": 48.856, "longitude": 2.352 },
  "sourceType": "user",
  "source": "admin@bayeux.test",
  "message": "Rest stop",
  "tag": "Road damaged"
}

Backend broadcasts notification to all users in the organization

Web App Monitoring:

  • Administrator/Super-Admin: View real-time alerts, respond if needed
  • Viewers: View real-time alerts (read-only)

Alert Flow:

Datalogger detects threshold breach
    ↓ Bluetooth
StaRT Mobile receives alert
    ↓ API
Backend processes event
    ↓ SSE
Web App displays notification
Administrator/Viewers notified

Phase 4: Stop (Administrator/Super-Admin using StaRT)

On-Site - End of Monitoring

Administrator/Super-Admin:

  1. During active session → Press "Stop" button:
    • Stop dataloggers recording (Bluetooth command)
    • Push stop event to API:
      json
      POST /artworks/{artworkId}/monitorings/events
      {
        "type": "stop",
        "severity": "info",
        "date": "2025-01-08T22:00:00Z",
        "location": { "latitude": 51.507, "longitude": -0.127 },
        "sourceType": "monitoring",
        "source": "monitoring-uuid"
      }

Result:

  • Monitoring status: InProgressEnded
  • Artwork status: MonitoringReady
  • StaRT closes session
  • ⚠️ Monitoring CANNOT be restarted

Monitoring Cannot Be Restarted

Once Stop is pressed, the monitoring is finalized and CANNOT be restarted. To create a new monitoring session for the same artwork, return to Phase 1 (Setup) to create a new monitoring.


Phase 5: Data Upload (USB → S3)

Later - Via Computer

Administrator/Super-Admin:

  1. Connect datalogger to computer via USB
  2. Small routing tool uploads data to S3:
    • Path: organization/artwork/monitoring/datalogger-IMEI/
    • Data includes: sensor readings, timestamps, raw data
  3. S3 reference stored in monitoring

Result:

  • Monitoring status: EndedUploaded
  • Artwork status: ReadyAnalysing

Phase 6: Analysis (Administrator/Super-Admin via Web App)

Web Application

Administrator (own org) or Super-Admin (all orgs):

  1. View artwork with monitoring in Uploaded status
  2. Download sensor data from S3 (using reference in monitoring)
  3. Analyze:
    • Temperature, humidity, vibration charts
    • Threshold breaches
    • Statistics (min, max, average)
    • GPS route visualization (if transport)
    • Photos during monitoring
  4. Add expert comments to monitoring
  5. Update artwork passport (v1.0.0):
    • Risk score
    • Monitoring history
  6. Mark monitoring as Completed
  7. Generate reports (v1.0.0)

Result:

  • Monitoring status: UploadedCompleted
  • Artwork status: AnalysingReady

Same Analysis Permissions

Both Administrator and Super-Admin can perform analysis. The only difference is scope:

  • Administrator: Can analyze their organization's artworks
  • Super-Admin: Can analyze any organization's artworks

Creating Additional Monitorings

An artwork can have multiple monitoring sessions over time (history).

To create a new monitoring:

  1. Ensure artwork is in Ready status (no active monitoring)
  2. Return to Phase 1 (Setup)
  3. Press "Setup" in StaRT app
  4. This creates a NEW monitoring for the same artwork

Example: Bayeux Tapestry Artwork

Artwork: "Bayeux Tapestry"

  • Inclosure: Custom climate-controlled protection
  • Crate: Large transport crate
  • Base Configuration: Temp 18-22°C, Humidity 45-55%, Vibration max 5mm/s, 5-min interval

Monitorings (created over time for same artwork):

  1. Static Monitoring (Museum storage, December 2024):
    • Type: static
    • Status: Completed
    • Duration: 30 days
  2. Transport Monitoring - Way Out (January 8, 2025):
    • Type: transport
    • Status: Completed
    • Route: Bayeux → London
  3. Transport Monitoring - Way Back (later date):
    • Type: transport
    • Status: InProgress
    • Route: London → Bayeux

Result: 1 Artwork with 3 separate Monitoring sessions over time

Artwork Reusability

The Artwork object (with configuration and equipment references) can be reused for multiple monitoring sessions. Once a monitoring is Completed, create a new monitoring session by using Setup again.


Next Steps

Science & Mechanics in Conservation of Heritage