Service Layer medium complexity mobile
1
Dependencies
1
Dependents
1
Entities
0
Integrations

Description

Mobile service that enqueues compressed receipt image bytes into the Drift mutation outbox when the device is offline, then schedules upload on network reconnect via the shared Sync Queue Service. Updates the local receipt record status from pending to uploaded on success.

Feature: Receipt Photo Upload

receipt-offline-queue-service

Responsibilities

  • Store compressed image bytes in Drift outbox when no network is available
  • Monitor connectivity and trigger upload replay on reconnect
  • Coordinate retry timing with the shared Retry Backoff Service
  • Update local receipt status from pending to uploaded after successful sync

Interfaces

enqueue(itemId: String, compressedFile: File) -> String
processQueue() -> List<UploadResult>
getPendingReceipts() -> List<PendingReceipt>
cancelPending(queueId: String) -> void

Relationships

Dependencies (1)

Components this component depends on

Dependents (1)

Components that depend on this component

Related Data Entities (1)

Data entities managed by this component