How swarup-2004/amdocs-genai-hackathon-backend works
This is a Django backend for a personalized learning product. A learner uses the API to manage goals and skills, get a generated roadmap and practice plan, take assessments, submit feedback, and receive updated learning content or course recommendations; a separate chat endpoint supports learning questions. The excerpts show key view-to-generator and view-to-vector-store calls, but not all routes or utility implementations, so uncertain wiring is omitted. The README documents Qdrant collections and environment-configured integrations; only Groq and Qdrant usage is visible in sampled source.
Main entry points: api/views.py Learning API views · backend/urls.py Django URL routing · auth_blacklist/views.py Token blacklist · chatbot/urls.py Chat URL routing
Components 21
API and identity
- Django URL routing
backend/backend/urls.py - Learning API views
backend/api/views.py - Authentication endpoints
backend/backend/urls.py - Token blacklist
backend/auth_blacklist/views.py - Chat URL routing
backend/chatbot/urls.py
Learning journey
- Goals and skills
backend/api/models.py - Tests and scoring
backend/api/models.py - Learning feedback
backend/api/models.py - Learning modules
backend/api/models.py
AI capabilities
- Goal validation
backend/api/utils/is_smart.py - Assessment generation
backend/api/utils/preliminary_test_question_generation.py - Roadmap generation
backend/api/utils/learning_cell_generation.py - Module adaptation
backend/api/utils/update_learning_cell.py - Course recommendations
backend/api/utils/recommend_course.py - Profile skill assessment
backend/api/utils/profile_scraper_and_skill_assesment.py - Learning chatbot
backend/chatbot/views.py
Persistence
- Relational database
backend/backend/settings.py - Qdrant vector store
backend/api/utils/qdrant_utils.py - Course collection
Other components
- Learner
- Groq language models
Connections 23
- Learner → Django URL routing: sends requests
- Django URL routing → Learning API views: dispatches API
- Django URL routing → Authentication endpoints: dispatches auth
- Django URL routing → Token blacklist: dispatches logout
- Django URL routing → Chat URL routing: dispatches chat
- Chat URL routing → Learning chatbot: routes to
- Learning API views → Relational database: reads and writes
- Learning API views → Goal validation: validates goals
- Learning API views → Roadmap generation: generates module
- Learning API views → Qdrant vector store: stores and retrieves
- Learning API views → Module adaptation: updates module
- Learning API views → Assessment generation: generates assessment
- Learning API views → Course recommendations: requests recommendations
- Learning API views → Profile skill assessment: assesses skills
- Learning API views → Goals and skills: manages
- Learning API views → Tests and scoring: manages
- Learning API views → Learning feedback: manages
- Learning API views → Learning modules: manages
- Roadmap generation → Groq language models: generates content
- Module adaptation → Groq language models: evaluates and revises
- Learning chatbot → Groq language models: answers questions
- Course recommendations → Course collection: retrieves courses
- Token blacklist → Relational database: blacklists token