How ay3097an-art/the-experimental-app works
The repository is a React duty-roster application: visitors can start a guest roster or sign in, create and confirm a roster, save it to Supabase, and later view or edit saved rosters and export PDFs. App.tsx coordinates page transitions; AuthContext manages session state, while the pages own authentication, roster workflows, and dashboard access. The README describes only a Vite template, so product capabilities are inferred from the sampled source and file tree; the roster-generation and persistence implementation is only partially sampled.
Main entry points: App.tsx Page coordinator · AuthContext.tsx Session management · supabase.ts Supabase client · Dashboard.tsx Roster dashboard
Components 11
App navigation
- Page coordinator
src/App.tsx - Landing page
src/pages/LandingPage.tsx
Identity
- Sign in / sign up
src/pages/AuthPage.tsx - Session management
src/context/AuthContext.tsx
Roster workflows
- Roster dashboard
src/pages/Dashboard.tsx - Roster workspace
src/pages/RosterWorkspace.tsx - Saved roster view
src/pages/RosterViewPage.tsx
External services
- Supabase client
src/lib/supabase.ts - Supabase service
- PDF libraries
Other components
- Visitor
Connections 26
- Visitor → Page coordinator: opens app
- Page coordinator → Landing page: shows
- Page coordinator → Sign in / sign up: shows
- Page coordinator → Roster dashboard: shows
- Page coordinator → Roster workspace: shows
- Page coordinator → Saved roster view: shows
- Landing page → Page coordinator: selects route
- Sign in / sign up → Page coordinator: signals success
- Roster dashboard → Page coordinator: selects roster
- Roster workspace → Page coordinator: returns home
- Saved roster view → Page coordinator: returns dashboard
- Page coordinator → Session management: reads session
- Sign in / sign up → Session management: signs in/up
- Roster dashboard → Session management: reads user
- Roster dashboard → Session management: signs out
- Roster workspace → Session management: reads user
- Saved roster view → Session management: reads user
- Session management → Supabase client: uses client
- Sign in / sign up → Supabase client: upserts profile
- Roster dashboard → Supabase client: fetches profile
- Roster dashboard → Supabase client: fetches rosters
- Roster workspace → Supabase client: saves roster
- Session management → Supabase client: auth requests
- Supabase client → Supabase service: sends requests
- Roster workspace → PDF libraries: generates PDF
- Saved roster view → PDF libraries: generates PDF