Skip to content

A web-based platform for matching students, faculty, and researchers based on academic profiles, research interests, and mentorship intent. Built with Flask, MySQL, and HTML.

Notifications You must be signed in to change notification settings

Brandon-Ism/mentorship_database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mentorship & Research Collaboration Matching System

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.


Features

  • 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

Homepage Preview

Here's what the profile table looks like in action:

Homepage Screenshot


ER Diagram

Below is the core database design, normalized to 3NF with clean many-to-many relationships:

ER Diagram


Getting Started

Requirements

  • Python 3.10+
  • MySQL Server
  • Flask (flask, flask-mysqldb)
  • Linux/macOS or WSL recommended for environment setup

Installation Steps

1. Clone the Repository

git clone https://github.com/Brandon-Ism/mentorship_database
cd mentorship_database

2. Create and Activate a Virtual Environment

python3 -m venv my_venv
source my_venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Set Up the MySQL Database

mysql -u root -p

Inside the MySQL shell:

CREATE DATABASE mentorship_db;
EXIT;

5. Import the Schema and Demo Data

mysql -u root -p mentorship_db < sql/mentorship_db_backup.sql

6. Launch the App

python app.py

Now visit http://127.0.0.1:5000 in your browser.


Project Structure

 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

Final Notes

  • 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

About

A web-based platform for matching students, faculty, and researchers based on academic profiles, research interests, and mentorship intent. Built with Flask, MySQL, and HTML.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published