How mehedi-hasan-raju/langauge-learning-website works
This is a German-learning backend API. Clients call the mounted HTTP routes; feature controllers handle requests and delegate domain operations to services, with authentication and shared infrastructure supporting those operations. The product spans structured lessons and exercises, user progress, subscriptions, and supporting content such as Ausbildung, visa checklists, and blogs. The README is empty, and many source excerpts are incomplete or unavailable, so the graph preserves documented-by-tree capabilities while omitting unverified internal links.
Main entry points: controller Learning controllers · server.ts HTTP server · auth.service.ts Authentication · auth.routes.ts Auth routes
Components 24
API and identity
- HTTP server
src/server.ts - Auth routes
src/modules/auth/auth.routes.ts - Auth controller
src/modules/auth/auth.controller.ts - Authentication
src/modules/auth/auth.service.ts - JWT middleware
src/middlewares/auth.middleware.ts
Learning experience
- Learning routes
src/modules/learning/route - Learning controllers
src/modules/learning/controller - Books and chapters
src/modules/learning/service - Grammar practice
src/modules/learning/service/grammer/grammar-question.service.ts - Listening practice
src/modules/learning/service/listening/listening.service.ts - Speaking practice
src/modules/learning/service/speaking/speaking.service.ts - Writing practice
src/modules/learning/service/writing/writing.service.ts - Vocabulary practice
src/modules/learning/service/vocabulary/vocabulary.service.ts - Sentence practice
src/modules/learning/service/sentence/sentence.service.ts
User and access
- Study and progress
src/modules/user/service - Subscriptions
src/modules/subscription/service/subscription.service.ts
Content and services
- Ausbildung resources
src/modules/ausbildung/service/ausbildung.service.ts - Blog publishing
src/modules/blog/service/blog.service.ts - Visa checklist
src/modules/visa-checklist/service/visa-checklist.service.ts
Shared infrastructure
- PostgreSQL access
src/lib/prisma.ts - Email delivery
src/lib/email.ts - Login throttling
src/middlewares/bruteForce.middleware.ts - Cloudinary uploads
src/lib/cloudinary-image.ts
Other components
- API client
Connections 25
- API client → HTTP server: sends requests
src/server.ts - HTTP server → Auth routes: mounts routes
src/server.ts - HTTP server → Learning routes: mounts routes
src/server.ts - Auth routes → Auth controller: routes requests
src/modules/auth/auth.routes.ts - Auth routes → JWT middleware: applies guards
src/modules/auth/auth.routes.ts - Authentication → PostgreSQL access: queries users
src/modules/auth/auth.service.ts - Authentication → Email delivery: sends codes
src/modules/auth/auth.service.ts - Authentication → Login throttling: records login failures
src/modules/auth/auth.service.ts - Learning routes → Learning controllers: dispatches requests
src/modules/learning/route/chapter.route.ts - Learning controllers → Books and chapters: delegates chapter operations
src/modules/learning/controller/chapter.controller.ts - Learning controllers → Grammar practice: delegates questions
src/modules/learning/controller/grammer/grammar-question.controller.ts - Learning controllers → Listening practice: delegates exercises
src/modules/learning/controller/listening/listening.controller.ts - Learning controllers → Speaking practice: delegates practice
src/modules/learning/controller/speaking/speaking.controller.ts - Learning controllers → Writing practice: delegates practice
src/modules/learning/controller/writing/writing.controller.ts - Learning controllers → Vocabulary practice: delegates exercises
src/modules/learning/controller/vocabulary/vocabulary.controller.ts - Learning controllers → Sentence practice: delegates exercises
src/modules/learning/controller/sentence/sentence.controller.ts - Learning controllers → JWT middleware: checks identity
src/modules/learning/controller/chapter.controller.ts - HTTP server → Study and progress: mounts user routes
src/server.ts - HTTP server → Subscriptions: mounts subscription routes
src/server.ts - HTTP server → Ausbildung resources: mounts resource routes
src/server.ts - HTTP server → Blog publishing: mounts blog routes
src/server.ts - HTTP server → Visa checklist: mounts checklist routes
src/server.ts - Blog publishing → PostgreSQL access: uses database
src/modules/blog/service/blog.service.ts - Ausbildung resources → Cloudinary uploads: uses image uploads
src/modules/ausbildung/controller/ausbildung.controller.ts - Learning controllers → Cloudinary uploads: uploads listening audio
src/modules/learning/controller/listening/listening.controller.ts