Files
Spanglish/backend/.env.example
Michilis 62bf048680 Mobile scanner redesign + backend live search
- Scanner page: fullscreen mobile-first layout, Scan/Search/Recent tabs
- Scan tab: auto-start camera, switch camera, vibration/sound feedback
- Valid/invalid fullscreen states, confirm check-in, auto-return to camera
- Search tab: live backend search (300ms debounce), tap card for detail + check-in
- Recent tab: last 20 check-ins, session counter
- Backend: GET /api/tickets/search (live search), GET /api/tickets/stats/checkin
- Admin layout: hide sidebar on scanner page; fix hooks order (no early return before useEffect)
- Back button to dashboard/events (staff → events, others → admin)
- API: searchLive, getCheckinStats, LiveSearchResult; PostgreSQL LOWER cast for UUID

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 04:26:44 +00:00

76 lines
2.4 KiB
Plaintext

# Database Configuration
# Use 'sqlite' or 'postgres'
DB_TYPE=sqlite
# For SQLite (relative or absolute path)
DATABASE_URL=./data/spanglish.db
# For PostgreSQL
# DATABASE_URL=postgresql://user:password@localhost:5432/spanglish
# JWT Secret (change in production!)
JWT_SECRET=your-super-secret-key-change-in-production
# Google OAuth (optional - for Google Sign-In)
# Get your Client ID from: https://console.cloud.google.com/apis/credentials
# Note: The same Client ID should be used in frontend/.env
GOOGLE_CLIENT_ID=
# Server Configuration
PORT=3001
API_URL=http://localhost:3001
FRONTEND_URL=http://localhost:3002
# Revalidation secret (shared with frontend for on-demand cache revalidation)
# Must match the REVALIDATE_SECRET in frontend/.env
REVALIDATE_SECRET=change-me-to-a-random-secret
# Payment Providers (optional)
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
MERCADOPAGO_ACCESS_TOKEN=
# LNbits Configuration (for Bitcoin Lightning payments)
# Get these from your LNbits instance
# URL should be like: https://lnbits.yourdomain.com or https://legend.lnbits.com
LNBITS_URL=
# Invoice/Read key from your LNbits wallet
LNBITS_API_KEY=
# Optional: webhook secret for additional verification
LNBITS_WEBHOOK_SECRET=
# Email Service
# Provider options: resend, smtp, console (console = log only, no actual email)
EMAIL_PROVIDER=console
EMAIL_FROM=
EMAIL_FROM_NAME=
# Resend Configuration (if EMAIL_PROVIDER=resend)
# Get your API key from https://resend.com
EMAIL_API_KEY=
# Alternative env name also supported:
# RESEND_API_KEY=
# SMTP Configuration (if EMAIL_PROVIDER=smtp)
# Works with any SMTP server: Gmail, SendGrid, Mailgun, Amazon SES, etc.
SMTP_HOST=mail.spango.lat
SMTP_PORT=465
SMTP_USER=
SMTP_PASS=
# Set to true for port 465 (implicit TLS), false for port 587 (STARTTLS)
SMTP_SECURE=true
# Set to false to allow self-signed certificates (not recommended for production)
SMTP_TLS_REJECT_UNAUTHORIZED=true
# Common SMTP examples:
# Gmail: SMTP_HOST=smtp.gmail.com, SMTP_PORT=587, use App Password for SMTP_PASS
# SendGrid: SMTP_HOST=smtp.sendgrid.net, SMTP_PORT=587, SMTP_USER=apikey, SMTP_PASS=your_api_key
# Mailgun: SMTP_HOST=smtp.mailgun.org, SMTP_PORT=587
# Amazon SES: SMTP_HOST=email-smtp.us-east-1.amazonaws.com, SMTP_PORT=587
# Email Queue Rate Limiting
# Maximum number of emails that can be sent per hour (default: 30)
# If the limit is reached, queued emails will pause and resume automatically
MAX_EMAILS_PER_HOUR=30