Skip to content

Integrations

Third-party services integrated with Unicorn Trails.

Overview

Service Purpose Required
Cloudflare R2 Object storage Yes
Resend Transactional email Yes
Cloudflare Turnstile CAPTCHA Yes
Sentry Error tracking No
Geocode API Reverse geocoding No

Cloudflare R2

S3-compatible object storage for images (marker photos, profile pictures).

Used for:

  • Marker image uploads
  • Profile pictures
  • Thumbnail generation (via Hangfire jobs)

Flow: See File Storage for the complete upload sequence.

Configuration: See Environment Variables

Resend

Transactional email service for account-related emails.

Used for:

  • Email confirmation
  • Password reset
  • Admin notifications (pending registrations)

Templates: Emails use HTML templates with token replacement.

Configuration: See Environment Variables

Cloudflare Turnstile

Bot protection for public forms.

Used for:

  • Registration form
  • Password reset request

Flow:

  1. Frontend renders Turnstile widget
  2. User completes challenge (usually invisible)
  3. Frontend sends token with form submission
  4. Backend validates token via Turnstile API

Configuration: See Environment Variables

Sentry

Error tracking and performance monitoring (optional).

Used for:

  • Frontend error capture
  • Backend exception logging
  • Performance tracing

Features:

  • Source map uploads for readable stack traces
  • Release tracking via git commit SHA
  • Breadcrumbs for debugging context

Configuration: See Environment Variables

Geocode API

Reverse geocoding service to get location names from coordinates (optional).

Used for:

  • Converting marker lat/lng to human-readable addresses

Configuration: See Environment Variables