A comprehensive PHP-based dashboard system for managing academic assignments between faculty and students.
- Course Management: View and manage courses
- Assignment Creation: Create assignments with multiple questions
- Assignment Publishing: Publish assignments to all students or selected individuals
- Submission Review: View, verify, reject, or return student submissions
- Statistics Tracking: Monitor submission counts and verification status
- Notification System: Send automated notifications to students
- Assignment Viewing: View all published assignments
- Solution Submission: Submit code/text solutions for assignments
- Resubmission: Update submissions multiple times
- Status Tracking: Monitor verification status and feedback
- Notification Center: Receive updates on assignment status
- Backend: PHP with PDO (MySQL)
- Frontend: HTML5, CSS3 (Modern responsive design)
- Database: MySQL
- Styling: Custom CSS with Google Fonts (Inter)
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Web server (Apache/Nginx) or PHP built-in server
- Create a MySQL database named
academic_dashboard
- Import the database schema:
mysql -u your_username -p academic_dashboard < queries/database.sql
- Update database credentials in
includes/config.php
:$host = 'localhost'; $db = 'academic_dashboard'; $user = 'your_db_username'; $pass = 'your_db_password';
php -S localhost:8000
Place files in your web server's document root and access via browser.
- Access the Application: Open
http://localhost:8000
in your browser - Choose Dashboard: Select either Faculty or Student dashboard
- No Login Required: The system works without authentication for demo purposes
- View Courses: Start from the Faculty Dashboard to see available courses
- Manage Course: Click "Manage Course" to view assignments
- Create Assignment: Use the form to create new assignments
- Add Questions: Edit assignments to add multiple questions
- Publish Assignment: Choose to publish to all students or selected individuals
- Review Submissions: Monitor and verify student submissions
- Provide Feedback: Verify, reject, or return submissions with feedback
- Select Student: Choose a student from the dropdown (demo feature)
- View Assignments: See all published assignments on the dashboard
- Start Assignment: Click on an assignment to view details and questions
- Submit Solution: Enter your code/solution and submit
- Track Status: Monitor verification status and feedback
- Resubmit: Update your solution if needed
/
├── index.php # Landing page
├── includes/
│ ├── config.php # Database configuration
│ ├── functions.php # Helper functions
│ ├── header.php # Common header
│ └── footer.php # Common footer
├── css/
│ └── style.css # Styling
├── faculty/
│ ├── dashboard.php # Faculty main dashboard
│ ├── course.php # Course management
│ ├── assignment.php # Assignment editing
│ ├── publish_assignment.php # Assignment publishing
│ ├── verify_submissions.php # Submission verification
│ └── process_verification.php # Verification processing
├── student/
│ ├── dashboard.php # Student main dashboard
│ └── assignment_detail.php # Assignment submission
└── queries/
└── database.sql # Database schema and sample data
- courses: Course information
- assignments: Assignment details and status
- questions: Multiple questions per assignment
- students: Student information
- submissions: Student assignment submissions
- verification: Faculty verification records
- notifications: Student notifications
- assignment_publications: Assignment visibility control
- Create assignments with titles and descriptions
- Add multiple questions per assignment
- Draft, publish, and hold assignment states
- Edit and delete assignments
- Publish to all students or selected individuals
- Track publication history
- Automatic notification sending
- Multiple submission attempts allowed
- Submission count tracking
- Full submission history
- Three verification states: Verified, Rejected, Returned
- Optional feedback for each verification
- Automatic notification to students
- Submission counts per assignment
- Verification statistics
- Student performance tracking
The system includes sample data for testing:
- 5 courses (CS101 to CS501)
- 10 students
- 8 sample assignments
- Multiple questions per assignment
- Sample submissions and verifications
- Extend the database schema in
queries/database.sql
- Add new functions in
includes/functions.php
- Create new pages following the existing structure
- Modify
css/style.css
for visual changes - The design uses a modern, clean aesthetic with:
- Inter font family
- Responsive grid layouts
- Card-based UI components
- Status badges and alerts
- All user inputs are sanitized using
htmlspecialchars()
- Database queries use prepared statements
- XSS protection implemented
- For production use, add proper authentication and authorization
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Responsive design works on desktop, tablet, and mobile
- No external dependencies required
- Database Connection Error: Check credentials in
config.php
- Missing Tables: Ensure
database.sql
was imported correctly - Permission Issues: Check file permissions for web server access
- Styling Issues: Verify
css/style.css
is accessible
Enable error reporting by adding to config.php
:
error_reporting(E_ALL);
ini_set('display_errors', 1);
This project is open source and available under the MIT License.
For issues or questions, please check the code comments and database schema for guidance.