A comprehensive web-based application designed to streamline communication and meeting scheduling between parents and teachers. This system provides separate dashboards for parents and teachers, enabling efficient management of parent-teacher meetings with features like scheduling, status tracking, and student performance monitoring.
- User Registration & Authentication: Separate registration for parents and teachers with role-based access
- Meeting Management: Schedule, update, delete, and track meeting status
- Role-Based Dashboards: Customized interfaces for parents and teachers
- Meeting Status Tracking: Track meetings as scheduled, completed, or cancelled
- Response Management: Accept/reject meeting requests with reason tracking
- Student Performance Tracking: Monitor and record student academic performance
- Responsive Design: Bootstrap-powered responsive UI for all devices
- Parents: View scheduled meetings, track student performance, manage profile
- Teachers: Schedule meetings, manage meeting requests, update student performance, subject management
- System: Automated meeting logging and status management
- Meeting acceptance/rejection system with reason tracking
- Student performance monitoring with USN-based tracking
- Comprehensive logging system for meeting deletions
- Secure password hashing and session management
- Clean, modern UI with gradient backgrounds and animations
- Backend: PHP 7.4+
- Database: MySQL 5.7+
- Frontend: HTML5, CSS3, Bootstrap 5.1.3
- Server: Apache (XAMPP recommended)
- Security: PHP password hashing, prepared statements, session management
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Apache Web Server
- Modern web browser (Chrome, Firefox, Safari, Edge)
- XAMPP 8.0+ (includes PHP, MySQL, Apache)
- 2GB RAM minimum
- 500MB free disk space
- Download and install XAMPP
- Start Apache and MySQL services from XAMPP Control Panel
- Clone or download this repository
git clone [repository-url]- Copy the project folder to your XAMPP htdocs directory:
C:\xampp\htdocs\parent-teacher-meeting-management\
- Open phpMyAdmin (http://localhost/phpmyadmin)
- Create a new database named
ptm_system - Import the
database.sqlfile or let the system auto-create tables - Verify database connection in
config/db.php
- Update database credentials in
config/db.phpif needed:
$servername = "localhost";
$username = "root";
$password = "";
$database = "ptm_system";- Ensure proper file permissions for the
logs/directory
- Open your web browser
- Navigate to:
http://localhost/parent-teacher-meeting-management - Register as a parent or teacher to get started
parent-teacher-meeting-management/
โโโ ๐ index.php # Main landing page
โโโ ๐ teacher_meeting_form.php # Teacher meeting scheduling form
โโโ ๐ database.sql # Database schema and initial data
โโโ ๐ README.md # Project documentation
โโโ ๐ .htaccess # Apache configuration
โ
โโโ ๐ config/
โ โโโ ๐ db.php # Database connection and table creation
โ
โโโ ๐ pages/
โ โโโ ๐ dashboard.php # Main user dashboard
โ โโโ ๐ login.php # User login page
โ โโโ ๐ register.php # User registration page
โ โโโ ๐ logout.php # Logout functionality
โ โโโ ๐ meetings.php # Meeting management page
โ โโโ ๐ edit_meeting.php # Meeting editing interface
โ โโโ ๐ teacher_dashboard.php # Teacher-specific dashboard
โ โโโ ๐ parent_dashboard.php # Parent-specific dashboard
โ โโโ ๐ student-performance.php # Student performance tracking
โ
โโโ ๐ actions/
โ โโโ ๐ save_meeting.php # Meeting creation handler
โ โโโ ๐ update_meeting.php # Meeting update handler
โ โโโ ๐ delete_meeting.php # Meeting deletion handler
โ โโโ ๐ accept_meeting.php # Meeting acceptance handler
โ โโโ ๐ reject_meeting.php # Meeting rejection handler
โ โโโ ๐ update_status.php # Meeting status update handler
โ
โโโ ๐ assets/
โ โโโ ๐ background.jpg # Background image
โ โโโ ๐ css/
โ โโโ ๐ style.css # Custom styling
โ
โโโ ๐ logs/
โโโ ๐ meeting_deletion.log # Meeting deletion audit log
- User information for parents
- Fields: id, name, email, password, phone, created_at
- User information for teachers
- Fields: id, name, email, password, phone, subject, created_at
- Meeting scheduling and tracking
- Fields: id, parent_name, student_name, subject, teacher_name, meeting_date, meeting_time, status, response_status, rejection_reason, created_at
- Academic performance tracking
- Fields: id, usn, student_name, parent_name, marks, subject, created_at, updated_at
- System notifications (future enhancement)
- Fields: id, user_id, message, is_read, created_at
- Registration: Register with parent role using your email and personal details
- Login: Access your dashboard using registered credentials
- View Meetings: Check scheduled meetings with teachers
- Track Performance: Monitor your child's academic performance
- Profile Management: Update your contact information
- Registration: Register with teacher role, including subject specialization
- Schedule Meetings: Create new meeting requests for parents
- Manage Requests: Accept or reject meeting requests with reasons
- Update Status: Mark meetings as completed or cancelled
- Performance Entry: Record and update student performance data
- Meeting Overview: View all scheduled meetings in organized dashboard
- Teacher schedules a meeting with parent details
- System creates meeting record with "pending" status
- Parent can view the meeting in their dashboard
- Teacher can accept/reject and update meeting status
- System logs all meeting activities for audit purposes
- Password Security: Bcrypt hashing for all user passwords
- SQL Injection Protection: Prepared statements for all database queries
- Session Management: Secure session handling with role-based access
- Input Validation: Server-side validation for all user inputs
- XSS Protection: HTML escaping for all output data
- Install XAMPP and start Apache + MySQL
- Clone project to
htdocs/parent-teacher-meeting-management - Access
http://localhost/parent-teacher-meeting-management - Register test accounts (one parent, one teacher)
- Test meeting scheduling workflow
The system will auto-create necessary database tables. You can:
- Register sample users through the web interface
- Create test meetings to explore functionality
- Use the teacher dashboard to manage meeting requests
Edit config/db.php to match your environment:
$servername = "localhost"; // Database server
$username = "root"; // Database username
$password = ""; // Database password
$database = "ptm_system"; // Database nameThe .htaccess file handles URL rewriting and security headers. Ensure mod_rewrite is enabled in Apache.
| Action | File | Purpose |
|---|---|---|
| Save Meeting | actions/save_meeting.php |
Create new meeting |
| Update Meeting | actions/update_meeting.php |
Modify existing meeting |
| Delete Meeting | actions/delete_meeting.php |
Remove meeting (with logging) |
| Accept Meeting | actions/accept_meeting.php |
Accept meeting request |
| Reject Meeting | actions/reject_meeting.php |
Reject with reason |
| Update Status | actions/update_status.php |
Change meeting status |
Database Connection Error
- Verify MySQL is running in XAMPP
- Check database credentials in
config/db.php - Ensure
ptm_systemdatabase exists
Page Not Found (404)
- Verify project is in correct htdocs directory
- Check Apache is running
- Ensure proper file permissions
Login Issues
- Clear browser cache and cookies
- Verify user exists in correct table (parent_users/teacher_users)
- Check password hashing compatibility
Meeting Not Saving
- Check database table structure matches schema
- Verify all required fields are provided
- Check PHP error logs for detailed errors
- Email Notifications: Automated email alerts for meeting updates
- Calendar Integration: Export meetings to Google Calendar/Outlook
- Mobile App: Native mobile application for iOS/Android
- Real-time Chat: In-app messaging between parents and teachers
- Document Sharing: Upload and share student documents
- Multi-language Support: Internationalization for different languages
- Advanced Reporting: Analytics and reporting dashboard
- Video Conferencing: Integrated video meeting capabilities
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -am 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Create a Pull Request
This project is open source and available under the MIT License.
For support and questions:
- Create an issue in the repository
- Check the troubleshooting section above
- Review the code documentation in individual files
- Bootstrap team for the responsive framework
- PHP community for excellent documentation
- XAMPP team for the development environment
Version: 1.0.0
Last Updated: January 2025
Compatibility: PHP 7.4+, MySQL 5.7+, Bootstrap 5.1.3