How lamnguyen1407/smartassignai works
SmartAssignAI is an educational chat assistant with course and document management, user administration, and authentication. Its principal backend workflow accepts a question, manages chat context, classifies intent, checks cached answers when applicable, selects an answering path, and records messages. Document upload can send a file to an external processing API. The frontend contains chat, authentication, and dashboard views, but the available excerpts do not establish their HTTP wiring to backend routes. Chat internals are grouped at the service boundary because their implementation details were not excerpted.
Main entry points: app.module.ts Application composition · chat.controller.ts Chat routes · course.controller.ts Course routes · jwt.guard.ts JWT guard
Components 20
Frontend experience
- Chat views
frontend/src/app/(user)/chat - Login and signup
frontend/src/components/auth - Admin dashboards
frontend/src/app/(dashboard)/dashboard
Identity and access
- Authentication routes
backend/src/modules/auth/auth.controller.ts - Authentication service
backend/src/modules/auth/auth.service.ts - Email delivery
backend/src/modules/email/email.service.ts - JWT guard
backend/src/modules/guards/jwt.guard.ts - User administration routes
backend/src/modules/user/user.controller.ts - User service
backend/src/modules/user/user.service.ts
Learning content
- Course routes
backend/src/modules/course/course.controller.ts - Course service
backend/src/modules/course/course.service.ts - File routes
backend/src/modules/file/file.controller.ts - File service
backend/src/modules/file/file.service.ts
Chat assistant
- Chat routes
backend/src/modules/chat/chat.controller.ts - Chat orchestration
backend/src/modules/chat/chat.service.ts
Application platform
- MongoDB
- Application composition
backend/src/app.module.ts
Other components
- Learner
- Administrator
- Document processing API
Connections 27
- Learner → Chat routes: asks questions
backend/src/modules/chat/chat.controller.ts - Learner → Authentication routes: authenticates
backend/src/modules/auth/auth.controller.ts - Administrator → User administration routes: manages users
backend/src/modules/user/user.controller.ts - Administrator → Course routes: manages courses
backend/src/modules/course/course.controller.ts - Administrator → File routes: manages files
backend/src/modules/file/file.controller.ts - Chat routes → Chat orchestration: delegates chat
backend/src/modules/chat/chat.controller.ts - Chat routes → Document processing API: sends uploaded file
backend/src/modules/chat/chat.controller.ts - Chat routes → Chat orchestration: stores processed chunks
backend/src/modules/chat/chat.controller.ts - Authentication routes → Authentication service: delegates auth
backend/src/modules/auth/auth.controller.ts - Authentication service → Email delivery: sends reset email
backend/src/modules/auth/auth.service.ts - User administration routes → User service: delegates user actions
backend/src/modules/user/user.controller.ts - Course routes → Course service: delegates course actions
backend/src/modules/course/course.controller.ts - Course routes → Course service: deletes course file
backend/src/modules/course/course.controller.ts - File routes → File service: delegates file actions
backend/src/modules/file/file.controller.ts - Authentication routes → JWT guard: guards routes
backend/src/modules/auth/auth.controller.ts - Chat routes → JWT guard: guards routes
backend/src/modules/chat/chat.controller.ts - Course routes → JWT guard: guards routes
backend/src/modules/course/course.controller.ts - User administration routes → JWT guard: guards routes
backend/src/modules/user/user.controller.ts - File routes → JWT guard: guards routes
backend/src/modules/file/file.controller.ts - Application composition → MongoDB: configures connection
backend/src/app.module.ts - Application composition → Authentication routes: registers module
backend/src/app.module.ts - Application composition → Chat routes: registers module
backend/src/app.module.ts - Application composition → Course routes: registers module
backend/src/app.module.ts - Application composition → File routes: registers module
backend/src/app.module.ts - Application composition → User administration routes: registers module
backend/src/app.module.ts - Learner → Chat views: uses
- Administrator → Admin dashboards: uses