How rajeshreddy-1012/maatrivaani works
MaatriVaani is a bilingual classroom-learning app for teachers and students, centered on navigating from role-based entry to learning tools and classroom language support. The visible workflow begins at the React app, restores profile and preferences from browser storage, then selects a role-appropriate dashboard and feature screen. Classroom translation, speech, lessons, flashcards, quizzes, progress, and worksheet generation are distinct capabilities. Source excerpts confirm worksheet generation’s API call and server-side dictionary/Gemini use; wiring for several other screens is not shown, so those links are omitted.
Main entry points: App.tsx App Router · StudentDashboard.tsx Student Dashboard · TeacherDashboard.tsx Teacher Dashboard · server.ts App API
Components 21
App and Roles
- React Entry
src/main.tsx - App Router
src/App.tsx - Role Login
src/components/LoginScreen.tsx - Teacher Dashboard
src/components/TeacherDashboard.tsx - Student Dashboard
src/components/StudentDashboard.tsx - Navigation Menu
src/components/SideMenu.tsx
Learning Tools
- Lessons
src/components/LessonsModule.tsx - Flashcards
src/components/FlashcardsModule.tsx - Quiz Assessment
src/components/QuizAssessment.tsx - Learning Outcomes
src/components/LearningOutcomes.tsx - Student Progress
src/components/StudentProgress.tsx - Worksheet Generator
src/components/WorksheetGenerator.tsx - Learning Content
src/data/mockData.ts
Language Support
- Live Voice
src/components/LiveClassroomVoice.tsx - Text Translator
src/components/TextTranslator.tsx - Tribal Dictionary
src/data/tribalDictionary.ts - Audio Service
src/services/audioService.ts
Runtime Services
- Browser Storage
src/services/storageService.ts - App API
server.ts - Gemini API
Other components
- Teacher / Student
Connections 25
- Teacher / Student → React Entry: opens
- React Entry → App Router: renders
- App Router → Browser Storage: loads profile
- App Router → Role Login: shows when signed out
- Role Login → App Router: reports login
- App Router → Teacher Dashboard: selects teacher view
- App Router → Student Dashboard: selects student view
- App Router → Navigation Menu: renders navigation
- App Router → Browser Storage: saves profile and preferences
- Teacher Dashboard → Lessons
- Teacher Dashboard → Worksheet Generator
- Student Dashboard → Lessons
- Student Dashboard → Flashcards
- Student Dashboard → Quiz Assessment
- Student Dashboard → Student Progress
- Student Dashboard → Learning Outcomes
- App Router → Live Voice: routes to screen
- App Router → Text Translator: routes to screen
- Worksheet Generator → App API: requests worksheet
- App API → Gemini API: generates content
- App API → Tribal Dictionary: checks phrases
- Live Voice → Tribal Dictionary: matches phrases
- Lessons → Learning Content
- Flashcards → Learning Content
- Learning Outcomes → Learning Content