How hiptran24/synaplearn-summary works
SynapLearn turns uploaded, pasted, or linked study material into AI summaries and quizzes, then records attempts for progress views. The map also includes authentication, premium payments, notifications, and administration because these are major documented product areas. The README documents capabilities and provider routing; source excerpts/index additionally substantiate several service-to-service and persistence links. Some controllers and integrations were not sampled, so their detailed internal calls are omitted.
Main entry points: AppDbContext.cs Application database · SummaryProcessingService.cs Content processing · QuizGenerationService.cs Quiz generation · AuthService.cs Authentication service
Components 22
Learning workflow
- Summary API
Controllers/SummaryController.cs - Content processing
Services/Content/SummaryProcessingService.cs - Safety review
Services/Content/KeywordContentSafetyService.cs - AI summary
Services/AI/OllamaSummaryService.cs - AI providers
- Content API
Controllers/ContentsController.cs - Quiz API
Controllers/QuizController.cs - Quiz generation
Services/Quiz/QuizGenerationService.cs
Identity and access
- Authentication API
Controllers/AuthController.cs - Authentication service
Services/Auth/AuthService.cs - Email OTP
Services/Otp/EmailOtpService.cs - SMTP email
Services/Email/SmtpEmailSender.cs
Progress and communication
- Dashboard analytics
Controllers/DashboardController.cs - Profile and notifications
Controllers/ProfileController.cs - Notification service
Services/Notifications/SystemNotificationService.cs
Operations and commerce
- Admin portal API
Controllers/AdminController.cs - Payment checkout
Services/Payments/PayOSPaymentService.cs - Premium subscription
Services/Payments/PremiumSubscriptionService.cs
Persistence
- Application database
Models/Entities/AppDbContext.cs - MySQL
Other components
- Learner
- Web interface
wwwroot/js/upload.js
Connections 29
- Learner → Web interface: uses
- Web interface → Summary API: submits content
- Summary API → Content processing: processes input
- Content processing → Safety review: reviews safety
Services/Content/SummaryProcessingService.cs - Content processing → AI summary: requests summary
Services/Content/SummaryProcessingService.cs - AI summary → AI providers: routes AI
- Content processing → Application database: stores results
Services/Content/SummaryProcessingService.cs - Learner → Quiz API: requests quiz
- Quiz API → Quiz generation: generates or submits
- Quiz generation → AI summary: generates questions
Services/Quiz/QuizGenerationService.cs - Quiz generation → Application database: reads and records
Services/Quiz/QuizGenerationService.cs - Learner → Content API: browses content
- Content API → Application database: reads content
- Learner → Authentication API: authenticates
- Authentication API → Authentication service: delegates auth
- Authentication service → Application database: reads and writes users
Services/Auth/AuthService.cs - Authentication service → Email OTP: verifies email
Services/Auth/AuthService.cs - Email OTP → SMTP email: sends codes
Services/Otp/EmailOtpService.cs - Learner → Dashboard analytics: views progress
- Dashboard analytics → Application database: queries activity
Controllers/DashboardController.cs - Learner → Profile and notifications: manages profile
- Profile and notifications → Notification service: manages notices
- Notification service → Application database: reads and writes
Services/Notifications/SystemNotificationService.cs - Notification service → SMTP email: sends email
Services/Notifications/SystemNotificationService.cs - Admin portal API → Application database: manages operations
Controllers/AdminController.cs - Learner → Payment checkout: buys premium
- Payment checkout → Premium subscription: updates subscription
Services/Payments/PayOSPaymentService.cs - Payment checkout → Application database: records transactions
Services/Payments/PayOSPaymentService.cs - Application database → MySQL: persists data