Skip to content

Repository files navigation

🎓 StudyMate - Peer Tutoring & Academic Session Management System

StudyMate is a modern, responsive web application designed to connect university students with qualified peer tutors. It streamlines booking tutoring sessions, scheduling, reviewing tutors, and administrative oversight.


✨ Features

  • 🎓 Learner Portal:

    • Browse and filter verified tutors by Subject, Faculty, and Department.
    • Book 1-on-1 tutoring sessions with custom topic notes.
    • Real-time notification updates & session schedule calendar.
    • Rating & Review system for completed sessions.
  • 👨‍🏫 Tutor Portal:

    • Weekly recurring availability schedule manager.
    • Interactive booking request dashboard (Accept, Decline with reasons, Reschedule time).
    • Meeting platform & video link integration (Google Meet, Zoom, Teams).
    • Subject request manager (Request new course modules for admin approval).
  • 🛡️ Admin Control Panel:

    • System-wide metric statistics dashboard (Today's sessions, weekly stats, active users).
    • Multi-filter & date-sorted session booking management with inspection & deletion.
    • Subject request review & automated module creation workflow.
    • User & Tutor account management.

🛠️ Technology Stack

  • Frontend: HTML5, Vanilla CSS3 (Custom Design System with Glassmorphism & Dark Palette), JavaScript (ES6+)
  • Backend: PHP 8.x (OOP, PDO Singleton, CSRF Protection, Prepared Statements)
  • Database: MySQL / MariaDB (Normalized Schema with Foreign Key Constraints & Automated Triggers)

🚀 Quick Setup & Installation

Prerequisites

  • XAMPP / WAMP / MAMP (PHP 8.0+ & MySQL)
  • Web Browser (Chrome, Edge, Firefox)

Steps

  1. Clone or Download the Repository:

    git clone https://github.com/YOUR_USERNAME/Study_Mate.git
  2. Move Project to Local Server Webroot:

    • Place the Study_Mate directory inside C:\xampp\htdocs\Study_Mate.
  3. Import Database:

    • Open phpMyAdmin (http://localhost/phpmyadmin).
    • Create a new database named studymate_db.
    • Import the deploy_database.sql file provided in the repository root.
  4. Run Application:

    • Open your browser and navigate to: http://localhost/Study_Mate

🔒 Security Features

  • CSRF token validation on all POST requests.
  • Password hashing using password_hash() (BCRYPT).
  • SQL Injection protection via PDO Prepared Statements.
  • Role-based authorization middleware (Learner, Tutor, Admin).
  • HTML entity sanitization on outputs.

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

Peer-to-peer university learning and tutoring web application

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages