A comprehensive web application for role-based teacher evaluations with weighted scoring, real-time dashboards, and exportable reports.
- Role-based Login: Student, Program Head, Dean, Admin
- Separate Evaluation Forms: Each role evaluates teachers with different criteria
- Weighted Composite Scoring: Final score = (Student × 0.50) + (Program Head × 0.30) + (Dean × 0.20)
- Anonymous Student Evaluations: Student identity is not exposed in results
- Real-time Dashboards: Visual insights with charts and metrics
- Exportable Reports: CSV and PDF export options
- Automated Reminders: Cron job for pending evaluation reminders
- Full Audit Trail: All actions are logged for compliance
- Frontend: HTML, CSS, JavaScript (Bootstrap 5, Chart.js)
- Backend: PHP
- Database: MySQL (via XAMPP)
- Install XAMPP from https://www.apachefriends.org/
- Start Apache and MySQL services
- Open phpMyAdmin (http://localhost/phpmyadmin)
- Create a new database named
teacher_evaluation_db - Import the
database.sqlfile
- Open http://localhost/seed.php in your browser
- This will populate the database with sample users, teachers, and evaluations
Open http://localhost/ in your browser
| Role | Password | |
|---|---|---|
| Admin | admin@edu.com | admin123 |
| Dean | dean.miller@edu.com | dean123 |
| Program Head | alice.anderson@edu.com | head123 |
| Student | student1@edu.com | student123 |
| Teacher | john.smith@edu.com | teacher123 |
- Teaching clarity
- Engagement
- Fairness
- Curriculum quality
- Assessment quality
- Mentoring
- Attendance
- Commitment
- Teaching quality
Final Score = (Student Avg × 0.50) + (Program Head Avg × 0.30) + (Dean Avg × 0.20)
Example:
- Student avg = 4.2
- Program Head avg = 4.0
- Dean avg = 3.8
Final Score = (4.2 × 0.5) + (4.0 × 0.3) + (3.8 × 0.2) = 4.06
For automated email reminders, add to your system's crontab:
# Run every day at 9 AM
0 9 * * * /path/to/php /path/to/reminders.phpteacher-evaluation/
├── config/
│ ├── database.php # Database connection
│ └── auth.php # Authentication & JWT
├── api.php # API endpoints
├── index.html # Frontend UI
├── app.js # Frontend logic
├── seed.php # Database seeder
├── reminders.php # Automated reminders
├── database.sql # Database schema
├── .htaccess # Apache config
└── README.md # This file
POST /api/login- User loginPOST /api/logout- User logoutGET /api/me- Get current userGET /api/dashboard- Dashboard dataGET /api/evaluation-forms- Get evaluation criteriaGET /api/teachers- List all teachersGET /api/my-teachers- Student's assigned teachersPOST /api/evaluations- Submit evaluationGET /api/evaluation-results- Get teacher resultsGET /api/reports- Get evaluation reportsGET /api/audit-logs- Admin audit logsGET /api/users- Admin user management
- JWT-based authentication
- Password hashing with bcrypt
- Role-based access control (RBAC)
- SQL injection prevention via prepared statements
- Full audit trail for compliance
MIT License