How sarath501/sarathsaviyntguide works
Sarath IGA Learning Portal is an authenticated learning and practice application for Identity Governance and Saviynt skills. Learners enter through sign-in, then use a shared portal shell to reach lessons, quizzes, labs, connector guides, and IAM-focused exercises; administrators have a separate management area. Supabase supplies authentication and application data, while server functions support administration and AI features. The route tree and sampled files establish the main structure, but several feature routes were not inspected, so their internal interactions are not expanded here.
Main entry points: AppShell.tsx Portal shell · client.ts Supabase client · admin.tsx Administration · route.tsx Authenticated route guard
Components 21
Access and navigation
- Portal landing
src/routes/index.tsx - Sign-in and signup
src/routes/auth.tsx - Authenticated route guard
src/routes/_authenticated/route.tsx - Portal shell
src/components/AppShell.tsx
Learning and practice
- Lessons and quizzes
src/routes/_authenticated - Labs and SQL practice
src/routes/_authenticated/labs.tsx - API practice
src/routes/_authenticated/api-practice.tsx - Curriculum data
src/lib/curriculum.ts
IGA resources
- Connector guides and studio
src/routes/_authenticated - IGA workflows and rules
src/routes/_authenticated - Certification and interview prep
src/routes/_authenticated - Connector data
src/lib/connectors.ts
Data and services
- Administration
src/routes/_authenticated/admin.tsx - Admin operations
src/lib/admin.functions.ts - Analytics functions
src/lib/analytics.functions.ts - AI assistance functions
src/lib/ai.functions.ts - User and role state
src/hooks/use-auth.ts - Supabase client
src/integrations/supabase/client.ts - Preview auth storage
src/integrations/supabase/previewAuthStorage.ts
Other components
- Learner or admin
- Supabase backend
Connections 23
- Learner or admin → Portal landing: opens
src/routes/index.tsx - Learner or admin → Sign-in and signup: signs in
- Sign-in and signup → Supabase client: authenticates through
src/routes/auth.tsx - Authenticated route guard → Supabase client: checks user
src/routes/_authenticated/route.tsx - Authenticated route guard → Portal shell: renders
src/routes/_authenticated/route.tsx - Portal shell → User and role state: loads profile and role
src/components/AppShell.tsx - Portal shell → Curriculum data: loads learning data
src/components/AppShell.tsx - Portal shell → Connector data: loads connector data
src/components/AppShell.tsx - Portal shell → Lessons and quizzes: navigates to
src/components/AppShell.tsx - Portal shell → Labs and SQL practice: navigates to
src/components/AppShell.tsx - Portal shell → API practice: navigates to
src/components/AppShell.tsx - Portal shell → Connector guides and studio: navigates to
src/components/AppShell.tsx - Portal shell → IGA workflows and rules: navigates to
src/components/AppShell.tsx - Portal shell → Certification and interview prep: navigates to
src/components/AppShell.tsx - Portal shell → Administration: navigates to
src/components/AppShell.tsx - Administration → Admin operations: invokes
src/routes/_authenticated/admin.tsx - Administration → Analytics functions: renders analytics
src/routes/_authenticated/admin.tsx - Administration → AI assistance functions: invokes
src/routes/_authenticated/admin.tsx - User and role state → Supabase client: reads auth and profile
src/hooks/use-auth.ts - Supabase client → Preview auth storage: configures
src/integrations/supabase/client.ts - Supabase client → Supabase backend: connects to
src/integrations/supabase/client.ts - Admin operations → Supabase backend: uses backend
src/lib/admin.functions.ts - AI assistance functions → Supabase backend: uses backend
src/lib/ai.functions.ts