A comprehensive web application for students to provide feedback to faculty members, with department-wide analytics and privacy protections.
- User authentication with three roles (Student, Faculty, Admin)
- Privacy-focused feedback system with anonymized student data
- Students can submit detailed feedback for faculty members across multiple courses
- Faculty members can view aggregated feedback statistics and anonymous comments
- Administrators can access detailed feedback data and system-wide statistics
- Department and course-specific analytics
- Profile management for all user types
- Quick login with demo accounts
- Comprehensive review criteria including:
- Teaching Quality
- Communication Skills
- Helpfulness
- Knowledge of Subject Matter
- Course Content Organization
- Availability Outside Class
- Fairness in Grading
- Enhanced UI: Improved design and user experience with Google Fonts (Poppins) integration
- Modernized Interface: Consistent typography and styling across all pages
- Responsive Design: Better mobile and tablet compatibility
- Anonymized Feedback: Faculty members only see aggregate ratings without student identifiers
- Admin Dashboard: Comprehensive view of all faculty feedback with detailed statistics
- Expanded Faculty Database: Six faculty members across different departments
- Expanded Course Catalog: Multiple courses per faculty member
- Quick Login: Direct access via demo accounts for testing purposes
- Comprehensive Rating System: Seven detailed criteria for thorough faculty evaluation
- Frontend: HTML, CSS, JavaScript
- UI/UX: Google Fonts (Poppins), Responsive Design
- Backend: Node.js, Express.js
- Database: SQLite (with client-side localStorage for demo purposes)
- Node.js (v14 or higher)
- npm (v6 or higher)
-
Clone the repository:
git clone <repository-url> cd faculty-feedback-system -
Install dependencies:
npm install -
Initialize the database:
npm run init-db -
Start the server:
npm start -
Access the application: Open your browser and visit
http://localhost:3000
To run the application in development mode with auto-restart:
npm run dev
The application comes with pre-configured demo accounts:
-
Dr. John Smith (Computer Science)
- Email: john.smith@example.com
- Password: faculty123
-
Prof. Jane Doe (Mathematics)
- Email: jane.doe@example.com
- Password: faculty123
-
Dr. Robert Johnson (Physics)
- Email: robert.johnson@example.com
- Password: faculty123
-
Dr. Michael Williams (Chemistry)
- Email: michael.williams@example.com
- Password: faculty123
-
Prof. Sarah Brown (Biology)
- Email: sarah.brown@example.com
- Password: faculty123
-
Dr. David Miller (Engineering)
- Email: david.miller@example.com
- Password: faculty123
-
Alice Johnson (Computer Science)
- Email: alice.johnson@example.com
- Password: student123
-
Bob Williams (Mathematics)
- Email: bob.williams@example.com
- Password: student123
-
Carol Brown (Physics)
- Email: carol.brown@example.com
- Password: student123
-
David Lee (Computer Science)
- Email: david.lee@example.com
- Password: student123
-
Emma Wilson (Mathematics)
- Email: emma.wilson@example.com
- Password: student123
- Admin User
- Email: admin@example.com
- Password: admin123
index.html- Main landing page with quick login optionsdashboard.html- Student dashboard for submitting feedbackfaculty-dashboard.html- Faculty dashboard with anonymized feedbackadmin-dashboard.html- Admin dashboard with comprehensive analyticspublic/- Static assetscss/- Stylesheet filesstyle.css- Core styles for the applicationlogin.css- Styles for the login and registration formsdashboard.css- Styles for student and faculty dashboardsadmin-dashboard.css- Styles for the admin dashboardmain.css- Additional styles to enhance UI/UX across all pages
js/- JavaScript filesimg/- Image assets
server/- Server-side codedatabase/- Database schema and setup
- Typography: Implemented Google Fonts (Poppins) for a modern, clean look
- Consistent Styling: Unified design language across all pages
- Interactive Elements: Enhanced buttons, form inputs, and navigation items
- Visual Hierarchy: Improved readability and information organization
- Responsive Layout: Better adaptation to different screen sizes
- Animation Effects: Subtle transitions and hover effects for better user feedback
- Form Styling: Consistent and user-friendly form elements
- Login as a student
- Select a faculty member and course
- Provide ratings and comments
- View feedback history
- Login as a faculty member
- View aggregate feedback statistics
- Read anonymous student comments
- Filter feedback by course or date
- Login as an admin
- View faculty overview with ratings
- Access detailed feedback for any faculty member
- View system-wide statistics
This project is open-source and available under the MIT License.