How jlassisamer/ribat-4hack works
Ribat is a web application with a React client and a small tRPC server. The visible user journey enters through the client router and reaches Home or a nullifier-based verification page; the repository also includes AI chat, maps, and a demo-data module. Server capabilities shown include authentication, owner notifications, and user persistence, alongside platform storage helpers. No README was provided, and several feature implementations were not excerpted, so their internal flows and links are not asserted.
Main entry points: App.tsx App routes · db.ts User database · oauth.ts OAuth flow · main.tsx Client bootstrap
Components 24
Web client
- Client bootstrap
client/src/main.tsx - App routes
client/src/App.tsx - Home experience
client/src/pages/Home.tsx - Verification page
client/src/pages/Verify.tsx - AI chat
client/src/components/AIChatBox.tsx - Map view
client/src/components/Map.tsx - Demo data
client/src/lib/ribat-demo.ts - Theme context
client/src/contexts/ThemeContext.tsx - Client auth hook
client/src/_core/hooks/useAuth.ts
API and auth
- API router
server/routers.ts - tRPC procedures
server/_core/trpc.ts - Request context
server/_core/context.ts - System endpoints
server/_core/systemRouter.ts - OAuth flow
server/_core/oauth.ts - Session cookies
server/_core/cookies.ts
Platform services
- Owner notifications
server/_core/notification.ts - Platform SDK
server/_core/sdk.ts - Storage helpers
server/storage.ts - Storage proxy
server/_core/storageProxy.ts - Environment config
server/_core/env.ts
Persistence
- User database
server/db.ts - User schema
drizzle/schema.ts
Other components
- Visitor
- Forge storage API
Connections 23
- Visitor → Client bootstrap: opens app
- Client bootstrap → App routes: renders
client/src/main.tsx - App routes → Home experience: routes to
client/src/App.tsx - App routes → Verification page: routes to
client/src/App.tsx - App routes → Theme context: provides theme
client/src/App.tsx - Client bootstrap → API router: calls API
client/src/main.tsx - API router → tRPC procedures: registers procedures
server/routers.ts - API router → System endpoints: mounts
server/routers.ts - System endpoints → tRPC procedures: uses procedures
server/_core/systemRouter.ts - System endpoints → Owner notifications: notifies owner
server/_core/systemRouter.ts - tRPC procedures → Request context: builds context
server/_core/trpc.ts - Request context → Platform SDK: uses
server/_core/context.ts - Request context → User database: reads user data
- OAuth flow → User database: persists users
server/_core/oauth.ts - OAuth flow → Session cookies: manages session
server/_core/oauth.ts - OAuth flow → Platform SDK: uses
server/_core/oauth.ts - User database → User schema: queries schema
server/db.ts - Platform SDK → User database: uses
server/_core/sdk.ts - Owner notifications → Environment config: reads config
server/_core/notification.ts - Storage helpers → Environment config: reads config
server/storage.ts - Storage helpers → Forge storage API: requests presigned URLs
server/storage.ts - Storage proxy → Forge storage API: requests signed URLs
server/_core/storageProxy.ts - Storage proxy → Environment config: reads config
server/_core/storageProxy.ts