A clean, web-based platform that allows students, faculty, and researchers to create academic profiles, search for others by research interest or mentorship intent, and connect for collaboration.
Built using Flask, MySQL, and HTML, this project was completed as part of a database design course and demonstrates a fully functional CRUD+Search system backed by a normalized relational schema.
- Create academic profiles with position, institution, bio, and headshot
- Select up to 5 research interests (with keyword reuse and autocomplete)
- Indicate intent: Collaboration, Providing Mentorship, Receiving Mentorship
- View all profiles in a clean, tabular layout
- Full-text and filter-based search:
- Name, Institution, Department
- Position & Interested-In filters (checkboxes)
- Keyword match for interests
- Email-based profile update & deletion
- Built-in matching logic to connect users with shared interests and compatible roles
Here's what the profile table looks like in action:
Below is the core database design, normalized to 3NF with clean many-to-many relationships:
- Python 3.10+
- MySQL Server
- Flask (
flask,flask-mysqldb) - Linux/macOS or WSL recommended for environment setup
git clone https://github.com/Brandon-Ism/mentorship_database
cd mentorship_databasepython3 -m venv my_venv
source my_venv/bin/activatepip install -r requirements.txtmysql -u root -pInside the MySQL shell:
CREATE DATABASE mentorship_db;
EXIT;mysql -u root -p mentorship_db < sql/mentorship_db_backup.sqlpython app.pyNow visit http://127.0.0.1:5000 in your browser.
mentorship_database/
├── app.py
├── config.py
├── docs/
│ ├── report.pdf
│ ├── slide_deck.pdf
├── templates/
│ ├── home.html
│ ├── create_profile.html
│ ├── edit_profile.html
│ └── ...
├── static/
│ ├── ER_diagram.png
│ ├── homepage.png
│ └── uploads/
├── sql/
│ ├── mentorship_db_backup.sql
│ └── schema.sql
├── requirements.txt
└── README.md
- All dummy profiles and field/interest options are already included in the backup SQL
- Interest matching, flexible filtering, and email-based updates are fully implemented
- This project highlights a working end-to-end database application with web integration

