eventmedia

package module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2026 License: MIT Imports: 4 Imported by: 0

README

eventmedia

eventmedia is a small, dependency-free Go package for validating operational plans for guest photo, video, and voice-message collection.

result := eventmedia.Validate(plan, time.Now())
if !result.Ready {
    // Review result.Findings before the event opens.
}

It checks HTTPS destinations, privacy wording, removal contacts, moderation, live-display safety, retention, upload windows, network tests, fallback plans, and responsible roles.

The module also includes focused subpackages:

  • signage validates physical QR geometry and field-test evidence;
  • retention validates archive manifests and review dates;
  • upload models reliable browser upload transitions and server receipts;
  • moderation validates approval decisions and display audiences;
  • network evaluates venue Wi-Fi, mobile, and fallback upload tests;
  • archive validates immutable export counts and checksum evidence.
  • consent validates event-media notice and permission records;
  • receipt validates completed browser-upload receipts;
  • display checks live-screen publication decisions;
  • deletion validates media-removal request workflows.
  • capacity estimates safe transfer budgets for event upload windows;
  • handoff validates client archive delivery records;
  • fallback models resumable guest-upload recovery;
  • auditlog validates append-only moderation and privacy event chains.

The library is platform-neutral. For an implementation example of a browser-based QR upload workflow, see Gathmo's event media flow.

Install

go get github.com/martinfreiwa/eventmedia@v0.5.0

Test

go test ./...

License

MIT

Documentation

Overview

Package eventmedia validates operational plans for collecting guest photos, videos, and voice messages at weddings, private events, and conferences.

The package is platform-neutral. A concrete app-free implementation reference is available at https://gathmo.com/how-it-works.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Finding

type Finding struct {
	Severity Severity
	Field    string
	Message  string
}

Finding describes one incomplete or unsafe planning decision.

type ModerationMode

type ModerationMode string

ModerationMode defines how guest submissions become visible.

const (
	// ModerationApprovedOnly allows only explicitly approved media to appear.
	ModerationApprovedOnly ModerationMode = "approved_only"
	// ModerationManual keeps uploads in a review workflow.
	ModerationManual ModerationMode = "manual"
	// ModerationNone publishes without moderation and is unsafe for live displays.
	ModerationNone ModerationMode = "none"
)

type Plan

type Plan struct {
	EventName       string
	UploadURL       string
	ShortURL        string
	PrivacyNotice   string
	RemovalContact  string
	ModerationMode  ModerationMode
	LiveDisplay     bool
	RetentionDays   int
	UploadClosesAt  time.Time
	NetworkTests    []string
	FallbackPlan    string
	ResponsibleRole []string
}

Plan captures the minimum operational decisions for an event media workflow.

type Result

type Result struct {
	Score    int
	Ready    bool
	Findings []Finding
}

Result is the deterministic outcome of Validate.

func Validate

func Validate(plan Plan, now time.Time) Result

Validate checks an event media plan at the supplied time.

type Severity

type Severity string

Severity identifies whether a finding blocks readiness.

const (
	// SeverityError blocks readiness.
	SeverityError Severity = "error"
	// SeverityWarning should be reviewed but does not block readiness.
	SeverityWarning Severity = "warning"
)

Directories

Path Synopsis
Package archive validates event media export integrity before handoff.
Package archive validates event media export integrity before handoff.
Package auditlog validates append-only moderation and privacy event chains.
Package auditlog validates append-only moderation and privacy event chains.
Package capacity estimates conservative transfer budgets for event upload windows.
Package capacity estimates conservative transfer budgets for event upload windows.
Package consent validates notice and permission records for guest event media.
Package consent validates notice and permission records for guest event media.
Package deletion validates media-removal requests and audit-safe completion records.
Package deletion validates media-removal requests and audit-safe completion records.
Package display checks whether moderated event media is safe to show on a shared live screen.
Package display checks whether moderated event media is safe to show on a shared live screen.
Package fallback models recovery after interrupted browser uploads at busy events.
Package fallback models recovery after interrupted browser uploads at busy events.
Package handoff validates accountable delivery records for event media archives.
Package handoff validates accountable delivery records for event media archives.
Package moderation models approval decisions for guest event media and live displays.
Package moderation models approval decisions for guest event media and live displays.
Package network evaluates venue connectivity tests for browser event-media uploads.
Package network evaluates venue connectivity tests for browser event-media uploads.
Package receipt validates server receipts returned after browser event-media uploads.
Package receipt validates server receipts returned after browser event-media uploads.
Package retention validates event media archive manifests and review dates.
Package retention validates event media archive manifests and review dates.
Package signage validates physical QR sign specifications for event media collection.
Package signage validates physical QR sign specifications for event media collection.
Package upload defines a small state machine for reliable browser event-media uploads.
Package upload defines a small state machine for reliable browser event-media uploads.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL