How abroranvarov01/tomu_backend works
This is a NestJS learning-management backend with language-learning content, cohorts and lectures, learner progress and assessment, billing-related records, notifications, and an AI voice tutor. The main learner workflow is account access, course/content use, assessment and progress tracking; the AI voice endpoint is a distinct interaction path through an orchestrated voice pipeline. The README is generic Nest starter text and does not document product behavior. Relationships below are limited to calls visible in sampled controllers and services or explicit pipeline dependencies; broader modules are included as product capabilities evident from the tree, without guessing their wiring.
Main entry points: voice-processing-pipeline.service.ts Voice pipeline · auth.service.ts Authentication service · auth.controller.ts Authentication API · user.controller.ts User API
Components 30
Identity and access
- Authentication API
src/modules/auth/auth.controller.ts - Authentication service
src/modules/auth/auth.service.ts - User service
src/modules/user/user.service.ts - User API
src/modules/user/user.controller.ts
Learning content
- Course API
src/modules/course/course.controller.ts - Course service
src/modules/course/course.service.ts - Lesson content
src/modules/lesson - Alphabet content
src/modules/alphabet - Grammar content
src/modules/grammar - Quiz API
src/modules/quiz/quiz.controller.ts - Quiz and attempts
src/modules/quiz/quiz.service.ts
Classroom and progress
- Groups and lectures
src/modules/group - Lecture API
src/modules/lecture/lecture.controller.ts - Homework assignments
src/modules/homework - Homework progress API
src/modules/homework-progress/homework-progress.controller.ts - Lesson progress
src/modules/lesson-progress
AI tutoring
- AI chat API
src/modules/ai/controllers/ai-chat.controller.ts - AI chat service
src/modules/ai/services/ai-chat.service.ts - Voice pipeline
src/modules/ai/services/voice-processing-pipeline.service.ts - Speech recognition
src/modules/ai/services/whisper.service.ts - GPT responses
src/modules/ai/services/gpt.service.ts - Speech synthesis
src/modules/ai/services/tts.service.ts - Chroma integration
src/modules/ai/services/chroma-embedding.service.ts
Commerce and services
- Orders and payments
src/modules/orders - Tariffs and subscriptions
src/modules/user-tariff - Push notifications
src/modules/notification/notification.controller.ts - Telegram bot
src/modules/telegram-bot
Other components
- Learner or staff
- OpenAI API
- Firebase messaging
Connections 22
- Learner or staff → Authentication API: submits credentials
- Authentication API → Authentication service: delegates
- Authentication service → User service: looks up user
- Learner or staff → User API: manages profile
- User API → User service: delegates
- Learner or staff → Course API: browses courses
- Course API → Course service: delegates
- Authentication service → Course service: checks course
- Learner or staff → Quiz API: takes assessment
- Quiz API → Quiz and attempts: submits quiz
- Learner or staff → Lecture API: views lectures
- Learner or staff → Homework progress API: checks homework
- Learner or staff → AI chat API: sends voice
- AI chat API → AI chat service: delegates chat
- AI chat service → Voice pipeline: runs pipeline
- Voice pipeline → Speech recognition: transcribes audio
- Voice pipeline → GPT responses: generates reply
- Voice pipeline → Speech synthesis: synthesizes speech
- Voice pipeline → Chroma integration: uses retrieval
- Chroma integration → OpenAI API: requests embeddings
- Learner or staff → Push notifications: registers token
- Push notifications → Firebase messaging: sends push