An intelligent matching platform designed to connect students with apprenticeship openings based on specialization, GPA, location, and custom prioritization. The system supports student and company users, dynamic application flow, deadline-based restrictions.
- Register & edit profiles (GPA, preferred locations, skills).
- View personalized matches sorted by company preferences.
- Apply or cancel applications.
- Secure password recovery via email.
- Register company accounts.
- Create apprenticeship openings with specialization, stipend, location, GPA requirement, deadline, and priority (location or GPA).
- Edit and delete openings.
- View all applicants for a specific opening sorted by priority logic.
- Prioritize matches by GPA or location.
- Filter openings by specialization and required GPA.
- Split by company’s priority: GPA vs. Location.
- Sort:
- GPA-priority → highest GPA first.
- Location-priority → match order of student’s preferred locations, then sort by GPA.
- Return merged list to the student dashboard.
apprenticeship-matching-system/ ├── gui/ │ ├── login_window.py │ ├── student_dashboard.py │ ├── company_dashboard.py │ ├── matching_results.py │ └── ... ├── models/ │ ├── student.py │ ├── opening.py │ └── matching.py ├── database/ │ ├── db_manager.py │ └── setup.py ├── utils/ │ ├── validation.py │ ├── encryption.py │ ├── notifications.py │ └── reminders.py ├── main.py └── ams.db