Project not found.

Believer's Elite

project-believers-elite Project Page

active project-page

Vision

Registration and check-in app for Believer's Elite Basketball Camp — a 3-day camp (June 4-6, 2026) run by Coach Marcus Draney and Brandon Averette in South Salt Lake City. Parents register and pay $165 online via Stripe, admins verify payment and check players in on camp day. Simple, fast, done before June 4.

User Stories

Key Role Story Success Metric
register Parent Register my player and pay online Stripe payment completes, confirmation page shows
multi-register Parent Register multiple players "Register Another Player" link works after first registration
show-up-ready Player Know what to bring and where to go Confirmation page lists dates, time, location, what to bring
admin-view Admin View all registrations with search Table with player, school, parent, phone, paid/checked-in status
admin-checkin Admin Verify payment and check in players Toggle paid/checked-in on detail page, badges update
production-deploy Admin Live site with real payments Public URL, live Stripe, CI/CD pipeline

Architecture

Rails 8 monolith with Hotwire (Turbo + Stimulus). Stripe Elements for payment (PaymentIntent flow, card never touches server). Plain CSS with design tokens — dark navy/royal blue theme.
  • Domain: Single model — Registration (parent info + player info + payment status + check-in status)
  • Data Flow: Page load → PaymentIntent created server-side → Card input via Stripe.js → Confirm client-side → Server verifies → Save with paid=true
  • Deployment: k8s pod (Thruster on port 80) → Tailscale Funnel ingress → believers-elite.tail5b443a.ts.net. SQLite with PersistentVolume. Harbor container registry. Woodpecker CI.
Key decisions:
  • Stripe Elements over Checkout — embedded card input, no redirect, matches single-page design
  • SQLite with PersistentVolume for production — single model, low traffic, 2-week shelf life. No CNPG overhead.
  • Debian (ruby:3.4.9-slim) over Arch Linux for Docker base — exact Ruby version pinning, half the image size, reproducible builds
  • No auth on admin yet (TODO — Keycloak OIDC)

Board

board-believers-elite

Status

App: complete. Registration form, Stripe test payments, admin dashboard, check-in flow — all working. 15/15 Playwright E2E tests pass.
Deployment: in progress. Woodpecker CI merged (PR #2). Terraform applied — Harbor project, robot accounts, namespace, imagePullSecret, funnel all provisioned. Kustomize overlay + SOPS secrets merged (pal-e-deployments PR #169). Remaining: re-run tofu apply to create ArgoCD application (failed on first run because overlay didn't exist yet), then first image build + ArgoCD sync.

Milestones

  • 2026-05-22 — App built end-to-end in single session: registration form, Stripe integration, admin dashboard, coach photos, camp branding
  • 2026-05-22 — Woodpecker CI pipeline merged, infrastructure docs written, deployment scoped across 3 repos
  • 2026-06-04 — Camp starts (hard deadline for production)

Repos

Repo Platform Role Status
<a href="https://forgejo.tail5b443a.ts.net/ldraney/believers-elite">ldraney/believers-elite</a> Forgejo Rails app + CI pipeline Active