How manuelsatta05-glitch/snakekeeper works
SnakeKeeper is a browser-based snake-breeding and care-management app delivered as a PWA, with sales, transfers, fair-event, and subscription workflows. Users manage their collection and its records in the main app; they can also transfer sold-snake details, register for paid plans, or use the separate fair page. The sampled source shows the app’s Supabase and Stripe interactions and several server-side workflows. The README is empty and app.js excerpts are partial, so some feature wiring and database structure cannot be confirmed.
Main entry points: app.js App runtime · usage-monitor/index.ts Usage monitor · cancel-subscription/index.ts Cancel subscription · index.html Main app page
Components 24
Care Management
- Main app page
index.html - App runtime
app.js - Care records
app.js - Breeding records
app.js
Sales and Plans
- Sold snakes
app.js - Snake transfers
app.js - Fair events
fiera.html - Plan management
app.js - Create checkout
supabase/functions/create-checkout/index.ts - Verify checkout
supabase/functions/verify-checkout/index.ts - Stripe event handler
supabase/functions/stripe-webhook/index.ts - Cancel subscription
supabase/functions/cancel-subscription/index.ts - Delete account
supabase/functions/delete-account/index.ts - Transfer service
supabase/functions/transfer-snake/index.ts
Platform Operations
- Daily health check
supabase/functions/daily-health-check/index.ts - Usage monitor
supabase/functions/usage-monitor/index.ts - Monitor page
monitor.html
Guides and PWA
- Snake care guides
guide - PWA service worker
sw.js
Other components
- Snake keeper
- Supabase
- Stripe
- Resend email
- UptimeRobot
Connections 38
- Snake keeper → Main app page: opens
- Snake keeper → Fair events: uses
- Main app page → App runtime: loads
- App runtime → Care records: manages
- App runtime → Breeding records: manages
- App runtime → Sold snakes: manages
- App runtime → Snake transfers: manages
- App runtime → Plan management: manages
- App runtime → Supabase: reads/writes
- App runtime → Create checkout: requests checkout
- App runtime → Verify checkout: verifies payment
- App runtime → Cancel subscription: requests cancellation
- App runtime → Delete account: requests deletion
- App runtime → Transfer service: requests transfer
- Create checkout → Stripe: creates session
- Create checkout → Supabase: checks limits/logs
- Verify checkout → Stripe: checks session
- Verify checkout → Supabase: updates plan
- Stripe → Stripe event handler: sends events
- Stripe event handler → Supabase: updates plan/logs events
- Stripe event handler → Resend email: sends email
- Cancel subscription → Stripe: cancels/refunds
- Cancel subscription → Supabase: checks user/logs
- Cancel subscription → Resend email: sends email
- Delete account → Stripe: cancels subscription
- Delete account → Supabase: deletes account data
- Transfer service → Supabase: reads/writes transfers
- Transfer service → Resend email: sends invitation
- Daily health check → Supabase: reads logs/counts
- Daily health check → Resend email: sends report
- Usage monitor → Supabase: checks rate limit
- Usage monitor → Stripe: reads revenue
- Usage monitor → UptimeRobot: reads monitor usage
- Usage monitor → Resend email: reads email usage
- Snake keeper → Monitor page: opens
- Monitor page → Usage monitor: requests metrics
- Snake keeper → Snake care guides: reads
- Main app page → PWA service worker: registers PWA