An interactive, browser-based student-faculty matching system built on the Gale-Shapley stable matching algorithm. Upload Excel files with preferences and capacities, and instantly view optimal matches, unmatched students, and backups.
🔗 Live Demo: Try the Algorithm
- 📊 Excel Upload: Supports structured input with 3 sheets:
- Sheet 1: Student Preferences
- Sheet 2: Faculty Preferences
- Sheet 3: Faculty Capacities
- 🔁 Enhanced Gale-Shapley Matching:
- Faculty capacity support
- Tie-breaking logic
- Backup assignment for unmatched students
- 📋 Results Display:
- Faculty-to-student matches
- Unmatched student list
- Backup recommendations
- Optional preference score breakdown
- Click “Choose File” and upload a valid Excel file.
- Click “Upload and Match” to run the algorithm.
- View:
- Primary matches
- Unmatched students
- Backup assignments
- Detailed score breakdown (optional)
- Frontend: HTML, CSS, JavaScript (Vanilla)
- Excel Parsing
- Algorithm: Custom Gale-Shapley logic with enhancements
The Excel file must contain the following sheets:
-
Student Preferences
- Header row: Faculty names
- Rows: Student name + preference rankings (lower = more preferred)
- ✅ Supports missing or blank preferences
-
Faculty Preferences
- Header row: Student names
- Rows: Faculty name + preference rankings
- ✅ Handles partial rankings and blank fields
-
Faculty Capacities
- Column A: Faculty Name
- Column B: Capacity (number of students each can take)
- Students propose to faculties by preference.
- Faculties accept based on their rankings and available capacity.
- If a more preferred student appears, replacements are made.
- Unmatched students are considered for backup slots based on preferences.
- Final results include matches, backups, and optional score visibility.
- Mentor-mentee matching
- Research project assignments
- Internship or capstone team pairings
Feel free to open issues or pull requests.
Contributions, feature suggestions, and feedback are always welcome!