How yawpremuh/drexel-elective-course-recommender works
The repository is an early Drexel elective-course recommender. Its implemented workflow collects catalog data, cleans it into a recommendation-ready CSV, then accepts student interests and prints TF-IDF-ranked courses. The README also describes a longer-term hybrid system with eligibility filters, multiple ranking signals, explanations, and API/web interfaces; those components are documented goals, not evidenced implementations in the sampled source. The graph distinguishes that planned design from the current pipeline.
Main entry points: tfidf_recommender.py CLI Entry · scrape_courses.py Catalog Scraper · clean_courses.py Course Cleaner · courses_raw.csv Raw Courses
Components 22
Course Collection
- Catalog Scraper
scripts/scrape_courses.py - Raw Courses
data/raw/courses_raw.csv
Data Preparation
- Course Cleaner
scripts/clean_courses.py - Clean Courses
data/processed/courses_clean.csv
TF-IDF Recommender
- CLI Entry
app/recommender/tfidf_recommender.py - Course Loader
app/recommender/tfidf_recommender.py - Course Filtering
app/recommender/tfidf_recommender.py - Course Text Builder
app/recommender/tfidf_recommender.py - TF-IDF Matrix
app/recommender/tfidf_recommender.py - Similarity Scoring
app/recommender/tfidf_recommender.py - Top-K Ranking
app/recommender/tfidf_recommender.py - Printed Recommendations
app/recommender/tfidf_recommender.py
Planned Hybrid System
- Profile Builder
- Eligibility Filters
- Candidate Retrieval
- Hybrid Ranker
- Ranking Signals
- Explanation Engine
- FastAPI
- Web App
Other components
- Drexel Catalog
- Student
Connections 23
- Catalog Scraper → Drexel Catalog: fetches pages
- Catalog Scraper → Raw Courses: writes courses
- Course Cleaner → Raw Courses: reads courses
- Course Cleaner → Clean Courses: writes cleaned data
- Student → CLI Entry: enters interests
- CLI Entry → Course Loader: calls recommendation
- Course Loader → Clean Courses: reads courses
- Course Loader → Course Filtering: passes courses
- Course Filtering → Course Text Builder: passes eligible courses
- Course Text Builder → TF-IDF Matrix: passes course text
- TF-IDF Matrix → Similarity Scoring: provides matrix
- CLI Entry → Similarity Scoring: passes interests
- Similarity Scoring → Top-K Ranking: provides scores
- Top-K Ranking → CLI Entry: returns top courses
- CLI Entry → Printed Recommendations: prints courses
- Student → Profile Builder: provides profile
- Profile Builder → Eligibility Filters: supplies profile
- Eligibility Filters → Candidate Retrieval: filters candidates
- Candidate Retrieval → Hybrid Ranker: supplies candidates
- Hybrid Ranker → Ranking Signals: combines scores
- Hybrid Ranker → Explanation Engine: provides ranked courses
- Explanation Engine → FastAPI: returns explanations
- FastAPI → Web App: serves recommendations