How yeshwanthinis/portal works
LearnCert is a role-based learning and certification application for participants, trainers, and administrators. Participants browse learning content, track progress, take assessments or scheduled exams, and review results and certificates. Trainers manage learning topics, slides, question banks, and examinations, then review results and analytics; administrators oversee users, roles, activity, and audit records. The app routes these workflows through a shared React interface and Zustand store. The sampled code shows in-memory state and prototype OTP/AI behavior; no persistent backend or external service is evidenced.
Main entry points: App.tsx Route application · useStore.ts Application state · Exam.tsx Assessments and exams · Login.tsx Sign-in and OTP
Components 22
Application entry
- Route application
src/App.tsx - Sign-in and OTP
src/pages/auth/Login.tsx - Role workspace
src/components/layout/AppShell.tsx
Participant learning
- Learning and progress
src/pages/participant/LearningPortal.tsx - Topic viewer
src/pages/participant/Viewer.tsx - Assessments and exams
src/pages/participant/Exam.tsx - Results and history
src/pages/participant/Result.tsx - Events and leaderboard
src/pages/participant/Events.tsx - Certificates
src/pages/participant/Certs.tsx
Trainer operations
- Topics and content
src/pages/trainer/Builder.tsx - Question bank
src/pages/trainer/Bank.tsx - Exam management
src/pages/trainer/Exams.tsx - Live examination
src/pages/trainer/Live.tsx - Results and analytics
src/pages/trainer/Analytics.tsx
Administration
- Users and roles
src/pages/admin/Users.tsx - Audit and activity
src/pages/admin/Audit.tsx
Shared runtime
- Application state
src/store/useStore.ts - Exam grading engine
src/lib/examEngine.ts - Learning catalogs
src/data/catalog.ts - Question content
src/data/questions.ts - AI learning panel
src/components/AIPanel.tsx
Other components
- User
Connections 36
- User → Route application: opens
- Route application → Sign-in and OTP: routes sign-in
- Route application → Role workspace: routes workspace
- Route application → Learning and progress: routes participant
- Route application → Topic viewer: routes participant
- Route application → Assessments and exams: routes participant
- Route application → Results and history: routes participant
- Route application → Events and leaderboard: routes participant
- Route application → Certificates: routes participant
- Route application → Topics and content: routes trainer
- Route application → Question bank: routes trainer
- Route application → Exam management: routes trainer
- Route application → Live examination: routes trainer
- Route application → Results and analytics: routes trainer
- Route application → Users and roles: routes admin
- Route application → Audit and activity: routes admin
- Sign-in and OTP → Application state: sets session
- Role workspace → Application state: reads state
- Learning and progress → Application state: reads progress
- Topic viewer → Application state: updates progress
- Assessments and exams → Application state: manages attempt
- Results and history → Application state: reads attempts
- Events and leaderboard → Application state: joins events
- Certificates → Application state: reads certificates
- Topics and content → Application state: edits slides
- Question bank → Application state: manages questions
- Exam management → Application state: manages events
- Live examination → Application state: controls events
- Results and analytics → Application state: reads outcomes
- Users and roles → Application state: manages users
- Audit and activity → Application state: reads audit
- Application state → Learning catalogs: loads catalog
- Application state → Question content: loads questions
- Assessments and exams → Exam grading engine: grades answers
- Route application → AI learning panel: mounts panel
- AI learning panel → Application state: sends queries