How ycr-latrelle/learnifypkt works
Learnify is a study-material application with a React client and ASP.NET API. Learners authenticate, organize subjects, and work with notes, flashcards, and quizzes; they can also generate study materials from uploaded files. The client routes users to study screens and maintains shared study data while calling API services. The API separates controllers from authentication, study, and AI services; quiz persistence in Firestore is visible in the sampled source. Several client screens and backend integrations are listed in the source index but not excerpted, so their internal links are omitted where unverified.
Main entry points: App.jsx App routing · StudyDataContext.jsx Study data · AuthContext.jsx Auth state · FirebaseAuthenticationService.cs Firebase auth
Components 30
Client experience
- App routing
learnify-pocket/src/App.jsx - Authentication screens
learnify-pocket/src/pages/Authentication Page/AuthenticationCanvas.jsx - Dashboard
learnify-pocket/src/pages/Dashboard/DashboardPage.jsx - Subjects
learnify-pocket/src/pages/Subjects/SubjectsPage.jsx - Subject detail
learnify-pocket/src/pages/Subjects/SubjectDetailPage.jsx - Study screens
learnify-pocket/src/pages/Notes/NotesPage.jsx - Study data
learnify-pocket/src/context/StudyDataContext.jsx
Authentication
- Auth state
learnify-pocket/src/context/AuthContext.jsx - Auth client
learnify-pocket/src/services/AuthService.js - Authorized API
learnify-pocket/src/services/apiClient.js - Auth endpoints
Learnify.Api/Controllers/AuthController.cs - Firebase auth
Learnify.Api/Services/Authentication/FirebaseAuthenticationService.cs - Token validation
Learnify.Api/Services/Authentication/FirebaseAuthenticationHandler.cs
Study management
- Subject endpoints
Learnify.Api/Controllers/SubjectController.cs - Note endpoints
Learnify.Api/Controllers/NotesController.cs - Quiz endpoints
Learnify.Api/Controllers/QuizzesController.cs - Flashcard endpoints
Learnify.Api/Controllers/FlashCardController.cs - Subject operations
Learnify.Api/Services/Study/SubjectService.cs - Note operations
Learnify.Api/Services/Study/NoteService.cs - Quiz operations
Learnify.Api/Services/Study/QuizService.cs - Flashcard operations
Learnify.Api/Services/Study/FlashCardService.cs
AI generation
- Tutor and upload
learnify-pocket/src/pages/Tutor/AITutorPage.jsx - Generation client
learnify-pocket/src/services/StudyGenerationService.js - File generation
Learnify.Api/Controllers/StudyFileGenerationController.cs - File extraction
Learnify.Api/Services/AI/StudyFileExtractionService.cs - Study generation
Learnify.Api/Services/AI/OpenRouterStudyService.cs
Other components
- Learner
- Firebase
- Firestore
- OpenRouter
Connections 27
- Learner → App routing: uses
- App routing → Authentication screens: routes to
learnify-pocket/src/App.jsx - App routing → Dashboard: routes to
learnify-pocket/src/App.jsx - App routing → Subjects: routes to
learnify-pocket/src/App.jsx - App routing → Subject detail: routes to
learnify-pocket/src/App.jsx - App routing → Study screens: routes to
learnify-pocket/src/App.jsx - App routing → Auth state: uses
learnify-pocket/src/App.jsx - Study data → Subject operations: fetches subjects
learnify-pocket/src/context/StudyDataContext.jsx - Study data → Note operations: creates notes
learnify-pocket/src/context/StudyDataContext.jsx - Study data → Generation client: requests generation
learnify-pocket/src/context/StudyDataContext.jsx - Auth state → Authorized API: uses
learnify-pocket/src/context/AuthContext.jsx - Auth state → Firebase: observes auth
learnify-pocket/src/context/AuthContext.jsx - Auth client → Firebase: authenticates
learnify-pocket/src/services/AuthService.js - Auth client → Auth endpoints: calls endpoints
learnify-pocket/src/services/AuthService.js - Auth endpoints → Firebase auth: delegates to
Learnify.Api/Controllers/AuthController.cs - Firebase auth → Firebase: uses
Learnify.Api/Services/Authentication/FirebaseAuthenticationService.cs - Firebase auth → Token validation: requests OTP
- Subject endpoints → Subject operations: delegates to
Learnify.Api/Controllers/SubjectController.cs - Note endpoints → Note operations: delegates to
Learnify.Api/Controllers/NotesController.cs - Quiz endpoints → Quiz operations: delegates to
Learnify.Api/Controllers/QuizzesController.cs - Flashcard endpoints → Flashcard operations: delegates to
- Quiz operations → Firestore: reads and writes
Learnify.Api/Services/Study/QuizService.cs - Tutor and upload → Generation client: requests materials
- Generation client → File generation: uploads file
- File generation → File extraction: extracts content
Learnify.Api/Controllers/StudyFileGenerationController.cs - File generation → Study generation: generates materials
Learnify.Api/Controllers/StudyFileGenerationController.cs - Study generation → OpenRouter: sends prompt
Learnify.Api/Services/AI/OpenRouterStudyService.cs