Skip to content

Anticoder03/assignment-management

Repository files navigation

Assignment Checklist System

A comprehensive web-based assignment management system for teachers to create, distribute, and grade assignments while tracking student progress.

Features

  • Teacher Authentication: Secure login system for teachers
  • Assignment Management: Create, edit, and manage assignments
  • Student Management: Add and manage student information
  • Grade Tracking: Mark assignments and track completion rates
  • Progress Analytics: View detailed reports and statistics
  • Responsive Design: Works on desktop and mobile devices

Requirements

  • PHP 7.4 or higher
  • MySQL 5.7 or higher
  • Web server (Apache/Nginx)
  • XAMPP/WAMP/LAMP stack

Installation

  1. Download/Clone the project

    git clone https://github.com/Anticoder03/assignment-management.git
    cd assignment-checklist
  2. Setup Database

    • Start your XAMPP/WAMP server
    • Open phpMyAdmin (usually at http://localhost/phpmyadmin)
    • Run the setup script: http://localhost/assignment-checklist/setup_database.php
    • Or manually import database_schema.sql
  3. Configure Database Connection

    • Edit config/database.php if needed
    • Default settings (for XAMPP):
      • Host: localhost
      • Database: assignment_main
      • Username: root
      • Password: `` (empty)
  4. Access the Application

    • Open your browser and navigate to http://localhost/assignment-checklist
    • You'll be redirected to the login page

Default Login Credentials

The system comes with sample teacher accounts:

  • Email: admin@school.edu
  • Password: admin123

Or use the demo credentials shown on the login page.

Usage

For Teachers

  1. Login: Use your credentials to access the system
  2. Create Assignments:
    • Go to "Assignments" page
    • Click "Create New Assignment"
    • Fill in assignment details and due date
  3. Add Students:
    • Go to "Students" page
    • Click "Add New Student"
    • Fill in student information
  4. Mark Assignments:
    • Go to "Mark Assignments" page
    • Select an assignment
    • Enter grades for each student
    • Save changes
  5. View Reports:
    • Go to "Reports" page
    • View analytics and progress charts

Database Structure

The system uses the following main tables:

  • teachers: Teacher information and authentication
  • students: Student information and enrollment
  • subjects: Subject categories (Mathematics, Science, etc.)
  • assignments: Assignment details and metadata
  • assignment_submissions: Student submissions and grades

File Structure

assignment-checklist/
├── config/
│   ├── database.php          # Database connection
│   └── session.php           # Session management
├── _Nav.php                  # Navigation header
├── _Footer.php               # Footer
├── index.php                 # Dashboard
├── login.php                 # Teacher login
├── logout.php                # Logout handler
├── assignments.php           # Assignment management
├── mark_assignments.php      # Grade assignments
├── students.php              # Student management
├── reports.php               # Analytics and reports
├── database_schema.sql       # Database structure
├── setup_database.php        # Database setup script
└── README.md                 # This file

Security Features

  • Password hashing using PHP's password_hash()
  • SQL injection prevention with prepared statements
  • Session-based authentication
  • Input validation and sanitization

Customization

Adding New Subjects

Edit the subjects table in your database or modify the sample data in database_schema.sql.

Changing Styling

The system uses Bootstrap 5. You can customize the appearance by:

  • Modifying CSS in the <style> sections
  • Adding custom CSS files
  • Changing Bootstrap themes

Database Configuration

Update config/database.php with your database credentials:

$host = 'your-host';
$dbname = 'your-database';
$username = 'your-username';
$password = 'your-password';

Troubleshooting

Common Issues

  1. Database Connection Error

    • Check if MySQL is running
    • Verify database credentials in config/database.php
    • Ensure the assignment_main database exists
  2. Login Issues

    • Make sure you've run the database setup
    • Check if the teacher account exists in the database
    • Try the default credentials: admin@school.edu / admin123
  3. Permission Errors

    • Ensure web server has read/write permissions
    • Check file permissions (755 for directories, 644 for files)
  4. Page Not Loading

    • Check if PHP is enabled
    • Verify web server configuration
    • Check error logs for detailed error messages

Support

For issues or questions:

  1. Check the troubleshooting section above
  2. Review PHP and MySQL error logs
  3. Ensure all requirements are met
  4. Verify file permissions and web server configuration

License

This project is open source and available under the MIT License.

Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.


Developed and maintained by Anticoder03

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages