How solana-thailand/bethere works
BeThere is an event-management and check-in platform whose central workflow is event setup, attendee registration and deposit, staff check-in, then refund or forfeiture and an attendance badge. The Leptos frontend calls a Cloudflare Worker API; shared domain types support both. The repository also includes event discovery and recaps, admin tools, campaigns and learning adventures, and an on-chain escrow program. The graph reflects the README and sampled entry points; several broader subsystem connections are documented capabilities rather than inspected call sites.
Main entry points: src/lib.rs HTTP worker · src/lib.rs Leptos application · api API client · db Worker database
Components 30
User experience
- Leptos application
frontend-leptos/src/lib.rs - Discovery and events
frontend-leptos/src/pages/public - Registration and deposit
frontend-leptos/src/pages/deposit - Ticket and check-in
frontend-leptos/src/pages/scanner - Admin and reports
frontend-leptos/src/pages/admin.rs - Adventure game
frontend-leptos/src/pages/adventure - API client
frontend-leptos/src/api
Worker API
- HTTP worker
worker/src/lib.rs - Authentication
worker/src/handlers/auth.rs
Event operations
- Event management
worker/src/handlers/events - Registration and attendance
worker/src/handlers/register - Check-in and attendees
worker/src/handlers/checkin.rs - Campaigns and progress
worker/src/handlers/campaigns.rs - Adventure service
worker/src/handlers/adventure.rs - Event store
worker/src/event_store - Worker database
worker/src/db - Google Sheets
worker/src/sheets - Asset storage
worker/src/storage.rs
Deposits and chain
- Deposit workflows
worker/src/handlers/deposit - Claim and mint
worker/src/claim - Escrow program
bethere-escrow/src/lib.rs - Solana transactions
worker/src/solana_escrow/tx_builders - Escrow indexer
worker/src/escrow_indexer
Shared domain
- Shared models and rules
domain/src/lib.rs
Other components
- Attendee
- Organizer / staff
- Solana network
- Helius webhooks
- Google Sheets service
- NFT mint service
Connections 38
- Attendee → Leptos application: uses
- Organizer / staff → Leptos application: manages events
- Leptos application → Discovery and events: renders
- Leptos application → Registration and deposit: renders
- Leptos application → Ticket and check-in: renders
- Leptos application → Admin and reports: renders
- Leptos application → Adventure game: renders
- Discovery and events → API client: requests event data
- Registration and deposit → API client: requests deposits
- Ticket and check-in → API client: requests check-in
- Admin and reports → API client: requests admin actions
- Adventure game → API client: requests adventure data
- API client → HTTP worker: calls API
- HTTP worker → Authentication: dispatches
- HTTP worker → Event management: dispatches
- HTTP worker → Registration and attendance: dispatches
- HTTP worker → Check-in and attendees: dispatches
- HTTP worker → Deposit workflows: dispatches
- HTTP worker → Campaigns and progress: dispatches
- HTTP worker → Adventure service: dispatches
- Event management → Event store: reads and writes
- Event store → Worker database: persists data
- Registration and attendance → Worker database: reads and writes
- Check-in and attendees → Worker database: reads and writes
- Check-in and attendees → Google Sheets: syncs attendance
- Deposit workflows → Worker database: reads and writes
- Deposit workflows → Solana transactions: builds transactions
- Solana transactions → Solana network: submits transactions
- Solana network → Escrow program: executes instructions
- Claim and mint → Worker database: reads and writes
- Claim and mint → NFT mint service: mints badge
- Escrow indexer → Worker database: stores indexed events
- Helius webhooks → Escrow indexer: sends transactions
- HTTP worker → Asset storage: stores and serves assets
- Event management → Shared models and rules: uses shared models
- Registration and attendance → Shared models and rules: uses shared models
- Deposit workflows → Shared models and rules: uses shared models
- Google Sheets → Google Sheets service: reads and writes