How bucks007/movie_recommendation_system works
This Django movie-recommendation product lets visitors browse and search a movie catalog, while signed-in users can manage ratings and watchlists and receive personalized recommendations. The main browse flow serves movie views backed by movie data and recommendation services; the chatbot adds query rewriting, intent routing, recommendations or tools, and an LLM response. The README also documents OMDb enrichment and multiple recommendation modes. Some runtime wiring is unsampled, so uncertain connections are omitted or marked unverified.
Main entry points: chat_pipeline.py Chat Pipeline · movies/views.py Movie Views · smart_recommendation_engine.py Smart Ranking · recommender/views.py Recommendation Views
Components 31
Movie Catalog
- Movie Views
apps/movies/views.py - Movie Data
apps/movies/models.py - Movie Formatting
apps/movies/services/movie_service.py - OMDb Enrichment
apps/movies/management/commands/enrich_omdb.py
Recommendation Engine
- Recommendation Views
apps/recommender/views.py - Content-Based
apps/recommender/services/content_based.py - Collaborative
apps/recommender/services/collaborative.py - Hybrid
apps/recommender/services/hybrid.py - Personalized
apps/recommender/services/personalized.py
Chat Assistant
- Chat Interface
apps/chatbot/static/chatbot/chatbot.js - Chat Endpoint
apps/chatbot/views.py - Chat Pipeline
apps/chatbot/services/chat_pipeline.py - Query Rewriter
apps/chatbot/services/query_rewriter.py - Conversation Rewriter
apps/chatbot/services/conversation_rewriter.py - Session History
apps/chatbot/services/memory_store.py - Intent Detection
apps/chatbot/services/intent_service.py - Smart Ranking
apps/chatbot/services/smart_recommendation_engine.py - Semantic Search
apps/chatbot/services/semantic_search_service.py - Context Builder
apps/chatbot/services/context_builder.py - Tool Dispatch
apps/chatbot/services/tool_service.py - Movie Search Tool
apps/chatbot/services/tools/search_tools.py - Movie Serializer
apps/chatbot/services/movie_serializer.py - LLM Service
apps/chatbot/services/llm_service.py - Prompt Template
apps/chatbot/services/prompt_template.py - Chat Memory
apps/chatbot/services/memory_service.py
Accounts & Activity
- User Views
apps/users/views.py - User & Activity Data
apps/users/models.py
Other components
- Visitor
- OMDb API
- Chat User
- Google Gemini
Connections 34
- Visitor → Movie Views: browses
- Movie Views → Movie Data: queries
apps/movies/views.py - Movie Views → Hybrid: requests similar
apps/movies/views.py - Movie Views → Personalized: requests personalized
apps/movies/views.py - Movie Data → OMDb Enrichment: enriched from
apps/movies/management/commands/enrich_omdb.py - OMDb Enrichment → OMDb API: fetches metadata
- Movie Views → Movie Formatting: formats titles
- Recommendation Views → Content-Based: offers
- Recommendation Views → Collaborative: offers
- Recommendation Views → Hybrid: offers
- Recommendation Views → Personalized: offers
- Chat User → Chat Interface: asks
- Chat Interface → Chat Endpoint: submits message
- Chat Endpoint → Chat Pipeline: invokes
- Chat Pipeline → Query Rewriter: rewrites query
apps/chatbot/services/chat_pipeline.py - Query Rewriter → Conversation Rewriter: rewrites from memory
apps/chatbot/services/query_rewriter.py - Query Rewriter → Session History: reads history
apps/chatbot/services/query_rewriter.py - Chat Pipeline → Intent Detection: detects intent
apps/chatbot/services/chat_pipeline.py - Chat Pipeline → Smart Ranking: gets recommendations
apps/chatbot/services/chat_pipeline.py - Smart Ranking → Semantic Search: searches semantically
apps/chatbot/services/smart_recommendation_engine.py - Smart Ranking → Content-Based: combines results
apps/chatbot/services/smart_recommendation_engine.py - Smart Ranking → Personalized: combines results
apps/chatbot/services/smart_recommendation_engine.py - Smart Ranking → Movie Data: ranks movies
apps/chatbot/services/smart_recommendation_engine.py - Chat Pipeline → Context Builder: builds context
apps/chatbot/services/chat_pipeline.py - Chat Pipeline → Tool Dispatch: dispatches tools
apps/chatbot/services/chat_pipeline.py - Tool Dispatch → Movie Search Tool: dispatches
- Movie Search Tool → Movie Data: searches titles
apps/chatbot/services/tools/search_tools.py - Chat Pipeline → LLM Service: generates answer
apps/chatbot/services/chat_pipeline.py - LLM Service → Prompt Template: uses prompt
apps/chatbot/services/llm_service.py - LLM Service → Chat Memory: loads and saves
apps/chatbot/services/llm_service.py - LLM Service → Google Gemini: calls model
apps/chatbot/services/llm_service.py - Chat Pipeline → Movie Serializer: serializes movies
apps/chatbot/services/chat_pipeline.py - User Views → Personalized: gets recommendations
apps/users/views.py - User Views → User & Activity Data: reads activity