Skip to content

Natssmmm/SaltechHackathonApp

Repository files navigation

Teacher Evaluation System

A comprehensive web application for role-based teacher evaluations with weighted scoring, real-time dashboards, and exportable reports.

Features

  • 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

Tech Stack

  • Frontend: HTML, CSS, JavaScript (Bootstrap 5, Chart.js)
  • Backend: PHP
  • Database: MySQL (via XAMPP)

Installation

1. Setup XAMPP

  1. Install XAMPP from https://www.apachefriends.org/
  2. Start Apache and MySQL services

2. Import Database

  1. Open phpMyAdmin (http://localhost/phpmyadmin)
  2. Create a new database named teacher_evaluation_db
  3. Import the database.sql file

3. Seed Sample Data

  1. Open http://localhost/seed.php in your browser
  2. This will populate the database with sample users, teachers, and evaluations

4. Access the Application

Open http://localhost/ in your browser

Login Credentials

Role Email 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

Evaluation Criteria

Student Evaluation (Weight: 50%)

  • Teaching clarity
  • Engagement
  • Fairness

Program Head Evaluation (Weight: 30%)

  • Curriculum quality
  • Assessment quality
  • Mentoring

Dean Evaluation (Weight: 20%)

  • Attendance
  • Commitment
  • Teaching quality

Composite Score Formula

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

Cron Job Setup (Optional)

For automated email reminders, add to your system's crontab:

# Run every day at 9 AM
0 9 * * * /path/to/php /path/to/reminders.php

Project Structure

teacher-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

API Endpoints

  • POST /api/login - User login
  • POST /api/logout - User logout
  • GET /api/me - Get current user
  • GET /api/dashboard - Dashboard data
  • GET /api/evaluation-forms - Get evaluation criteria
  • GET /api/teachers - List all teachers
  • GET /api/my-teachers - Student's assigned teachers
  • POST /api/evaluations - Submit evaluation
  • GET /api/evaluation-results - Get teacher results
  • GET /api/reports - Get evaluation reports
  • GET /api/audit-logs - Admin audit logs
  • GET /api/users - Admin user management

Security

  • JWT-based authentication
  • Password hashing with bcrypt
  • Role-based access control (RBAC)
  • SQL injection prevention via prepared statements
  • Full audit trail for compliance

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors