How mathura-snth/nlp-movie-recommender-dwl works
Don't Watchlist is a fear-driven movie-avoidance search application, with an archived NLP research prototype. In the main workflow, users search the PHP site; its service proxies requests to the Flask API, which invokes semantic search and returns ranked films. Users can add films to a watchlist and manage profiles, settings, and badges through the same service/API boundary. The backend persists application data through its repository and ORM. The README documents both TF-IDF and embedding research branches; their internal details are only partly sampled, so those links are limited to documented capabilities.
Main entry points: MovieService.php Movie service proxy · app.py Flask API · MoteurRecherche.php Search page · repository.py Application repository
Components 19
Web experience
- Search page
DWL_PP/siteweb/MoteurRecherche.php - Watchlist page
DWL_PP/siteweb/DWL.php - Login and registration
DWL_PP/siteweb/Login.php - Profile and badges
DWL_PP/siteweb/MyProfile.php - Account settings
DWL_PP/siteweb/Settings.php - Page views
DWL_PP/siteweb/view - Movie service proxy
DWL_PP/siteweb/service/MovieService.php
Application API
- Flask API
DWL_PP/app/app.py - Runtime search
DWL_PP/app/search_moteur.py - TMDB metadata
Persistence
- Application repository
DWL_PP/app/repository.py - Data models
DWL_PP/app/orm.py - Database sessions
DWL_PP/app/db.py - TiDB database
NLP research
- TF-IDF search
DWL_TAL/projet_tfidf.py - Embedding search
DWL_TAL/projet_emb.py - TF-IDF evaluation
DWL_TAL/evaluation_tfidf.py - Embedding evaluation
DWL_TAL/evaluation_emb.py
Other components
- User
Connections 16
- User → Search page: submits query
- Search page → Movie service proxy: requests search
DWL_PP/siteweb/MoteurRecherche.php - Watchlist page → Movie service proxy: requests watchlist
DWL_PP/siteweb/DWL.php - Login and registration → Movie service proxy: requests login
DWL_PP/siteweb/Login.php - Profile and badges → Movie service proxy: manages profile
DWL_PP/siteweb/MyProfile.php - Account settings → Movie service proxy: updates settings
DWL_PP/siteweb/Settings.php - Search page → Page views: renders
DWL_PP/siteweb/MoteurRecherche.php - Movie service proxy → Flask API: proxies HTTP
DWL_PP/siteweb/service/MovieService.php - Flask API → Runtime search: calls search
DWL_PP/app/app.py - Flask API → Application repository: handles data
DWL_PP/app/app.py - Flask API → TMDB metadata: fetches metadata
DWL_PP/app/app.py - Application repository → Database sessions: opens sessions
DWL_PP/app/repository.py - Application repository → Data models: queries models
DWL_PP/app/repository.py - Database sessions → TiDB database: connects to
README.md - TF-IDF search → TF-IDF evaluation: evaluated by
DWL_TAL/evaluation_tfidf.py - Embedding search → Embedding evaluation: evaluated by
DWL_TAL/evaluation_emb.py