A web-based platform designed to connect students with tutors and streamline the process of discovering, scheduling, and managing tutoring sessions.
Finding academic support within a university environment can be difficult when students do not have an organized way to identify available tutors for specific subjects.
The Tutoring Management System provides a centralized platform where students can search for tutors, filter them by subject, review their profiles and statistics, find nearby tutors, schedule tutoring sessions, and communicate through real-time chat.
Tutors can create and manage their profiles, specify the subjects they teach, define their availability, promote their tutoring services, and manage requests from students.
The platform aims to make the interaction between students and tutors more organized while providing tutors with a way to offer their services.
- Registration and authentication
- Tutor search and subject filtering
- Tutor profile and statistics
- Location-based tutor discovery through an interactive map
- Tutoring session scheduling
- Real-time chat with tutors
- Management of scheduled sessions
- Registration and authentication
- Tutor profile management
- Subject and tutoring service management
- Availability schedule management
- Tutoring request management
- Accepting or rejecting tutoring requests
- Real-time chat with students
- Management of scheduled sessions
- Role-based functionality for students and tutors
- Relational database management
- Secure password storage using password hashing
- Real-time communication between users
- Tutor statistics
- Location-based tutor visualization
- Session scheduling and management
| Technology | Purpose |
|---|---|
| PHP | Backend development and application logic |
| MySQL | Relational database management |
| JavaScript | Client-side functionality and interactivity |
| HTML | Application structure and content |
| CSS | User interface styling |
The project uses a separation of responsibilities inspired by the Model-View-Controller (MVC) architecture.
The implementation is not based on a strict MVC framework, but the application is organized into models, controllers, and views to separate data management, application logic, and presentation.
tutoring_management_system/
│
├── apis/
├── assets/
├── controlador/
├── estilos/
├── modelo/
├── vistas/
└── ...
Model (modelo/)
Responsible for data management and interaction with the MySQL database.
View (vistas/)
Contains the user interface and presentation layer of the application.
Controller (controlador/)
Handles application logic and coordinates communication between the models and views.
APIs (apis/)
Contains API-related functionality used by different parts of the application.
Assets (assets/)
Contains static resources used by the application.
Styles (estilos/)
Contains the CSS styles used throughout the platform.
The application uses MySQL as its relational database management system.
The database stores the information required to support the main platform functionalities, including:
- User accounts and authentication data
- Tutor profiles
- Subjects and tutoring services
- Tutor availability
- Scheduled tutoring sessions
- Chat and communication data
- Tutor statistics
- Other application-related records
Passwords are stored using password hashing rather than plain text storage.
The project was developed and tested in a local environment using XAMPP.
- XAMPP
- Apache
- MySQL
- PHP
- Web browser
- Git
-
Install XAMPP.
-
Start the Apache and MySQL services from the XAMPP control panel.
-
Clone the repository into the
htdocsdirectory:
git clone https://github.com/SaVR0/tutoring_management_system.git- Move into the project directory:
cd tutoring_management_system-
Open phpMyAdmin and create the database required by the application.
-
Import the project's database structure and data.
-
Configure the database connection according to your local MySQL credentials.
-
Open the application in your browser:
http://localhost/tutoring_management_system/
This project was developed for a local XAMPP environment and does not currently include a production deployment.
The main functionalities of the platform are implemented and functional in the local development environment.
The current version supports:
- Student and tutor authentication
- Tutor discovery and filtering
- Tutor profiles and statistics
- Location-based tutor search
- Tutoring session scheduling
- Session management
- Real-time chat
- Tutor availability management
- Role-based functionality
The application has not been deployed to a production environment.
Potential improvements for future versions include:
- Deployment to a production environment
- Email and push notifications for tutoring requests and scheduled sessions
- Advanced tutor rating and review functionality
- Improved responsive design and user experience
- Administrative management panel
- Expanded location-based search functionality
- Improved application scalability and maintainability
- Additional security measures for production deployment
Sergio Velaides