How nox-mob/openapphub works
OpenAppHub is the account and organization hub for the OpenApp suite. Visitors sign in or accept invitations, establish an organization, then manage its members, settings, billing, and audit history; shared UI and Supabase-backed services support those workflows. The README documents these product capabilities, while sampled source confirms selected auth, shell, settings, and Stripe-webhook relationships. Several screens and service implementations were not sampled, so their internal links are omitted or marked unverified.
Main entry points: HubShell.tsx Signed-in shell · orgs.ts Organizations · settings.tsx Organization settings · AppShell.tsx Shared app shell
Components 22
Entry and identity
- Auth routes
src/routes/login.tsx - Auth actions
src/lib/auth-client.ts - Auth callback
src/routes/auth.callback.tsx
Hub experience
- Signed-in shell
src/components/hub/HubShell.tsx - Dashboard
src/screens/dashboard.tsx - Organization setup
src/screens/welcome.tsx - Member management
src/screens/members.tsx - Organization settings
src/screens/settings.tsx - Audit history
src/screens/audit.tsx - Billing
src/screens/billing.tsx
Organization operations
- Organizations
src/lib/orgs.ts - Members and invites
src/lib/members.ts - Settings services
src/lib/org-settings.ts - Billing core
src/lib/billing-core.ts
Shared suite layer
- Shared app shell
shared/ui/AppShell.tsx - Invitation page
shared/ui/InvitationPage.tsx - Suite app identity
shared/apps.ts - Hosted routing
shared/supabase/hosted.ts
External services
- Supabase Auth
shared/supabase/client.ts - Stripe webhook
src/routes/api.stripe.webhook.ts - Stripe
Other components
- Visitor
Connections 20
- Visitor → Auth routes: starts sign-in
README.md - Auth routes → Auth actions: uses auth actions
- Auth actions → Supabase Auth: gets browser client
src/lib/auth-client.ts - Auth callback → Supabase Auth: checks session
src/routes/auth.callback.tsx - Auth callback → Visitor: continues navigation
src/routes/auth.callback.tsx - Signed-in shell → Shared app shell: renders shell
src/components/hub/HubShell.tsx - Signed-in shell → Auth actions: signs out through
src/components/hub/HubShell.tsx - Signed-in shell → Organizations: reads hub context
src/components/hub/HubShell.tsx - Signed-in shell → Dashboard: frames hub pages
- Organization setup → Organizations: sets up organization
- Member management → Members and invites: manages membership
- Invitation page → Organizations: loads invitation context
shared/ui/InvitationPage.tsx - Organization settings → Settings services: formats settings
src/screens/settings.tsx - Organization settings → Organizations: uses organization context
src/screens/settings.tsx - Organization settings → Members and invites: uses account operations
src/screens/settings.tsx - Billing → Billing core: manages billing
- Stripe webhook → Billing core: handles webhook
src/routes/api.stripe.webhook.ts - Stripe webhook → Stripe: receives events from
src/routes/api.stripe.webhook.ts - Shared app shell → Suite app identity: uses app identity
shared/ui/AppShell.tsx - Shared app shell → Hosted routing: uses hosted billing config
shared/ui/AppShell.tsx