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:
- Frontend renders Turnstile widget
- User completes challenge (usually invisible)
- Frontend sends token with form submission
- 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
Related¶
- Environment Variables — Configuration reference
- Architecture — System overview
- File Storage — R2 details