Skip to content

Latest commit

Β 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CourseCentral

A comprehensive course and student management system for educational institutions. CourseCentral provides a complete solution for managing students, courses, groups, payments, attendance, and academic records.

πŸ“‹ Table of Contents

✨ Features

Student Management

  • Student Registration: Complete student registration system with personal information tracking
  • Student Profiles: Comprehensive student profiles with contact details, birth dates, and academic history
  • Student Search: Quick search and filter students by ID or name
  • Student Reports: Detailed reports for individual students including courses, payments, and marks

Course & Level Management

  • Level Management: Create and manage course levels with customizable fees and periods
  • Group Management: Organize students into groups with specific teachers, schedules, and time slots
  • Course Scheduling: Flexible time slot management for course groups
  • Books Management: Track course materials and book usage across levels

Payment & Financial Management

  • Registration Fees: Handle initial registration payments with discount options
  • Installment Payments: Support for multiple payment installments (2nd, 3rd, etc.)
  • Early Bird Discounts: Automatic early registration fee discounts
  • Fee Settings: Configurable fee structure (Registration, Student, Early Bird, Freeze, Unfreeze fees)
  • Payment Tracking: Daily and period-based payment reports
  • Payment History: Complete payment history for each student
  • Extra Payments: Handle placement tests and other miscellaneous payments

Academic Management

  • Mark Entry: Record and manage student marks/grades
  • Attendance Management: Generate and print attendance sheets
  • Grade Reports: Comprehensive grade reports with pass/fail statistics
  • Success Rate Tracking: Monitor overall student success rates

Freeze/Unfreeze System

  • Freeze Studies: Temporarily freeze student enrollment
  • Unfreeze Studies: Resume frozen student enrollment
  • Freeze Reports: Track all frozen students and their status

Reports & Analytics

  • Group Reports: List all groups with detailed statistics
  • Student Lists: Comprehensive student listings ordered by ID or name
  • Payment Reports: Daily and period-based financial reports
  • Level Reports: Track books used across all courses
  • Teacher Reports: List all teachers and their assigned groups
  • Attendance Reports: Generate attendance sheets for groups

System Administration

  • User Authentication: Secure login system with session management
  • Admin Dashboard: Overview dashboard with daily statistics
  • System Settings: Configurable system-wide settings
  • Data Export: Generate printable reports for various entities

Additional Features

  • Gate Pass Management: Handle student gate passes
  • Leave Management: Student leave request system
  • Teacher Management: Manage teacher profiles and assignments
  • Time Management: Flexible course timing system
  • Discount Management: Support for various discount types (25%, 50%, 90%, etc.)

πŸ›  Technology Stack

  • Backend: PHP (with MySQLi)
  • Database: MySQL
  • Frontend:
    • HTML5
    • CSS3 (Bootstrap 3)
    • JavaScript (jQuery)
    • Font Awesome icons
  • Additional Libraries:
    • Bootstrap (responsive framework)
    • jQuery (JavaScript library)
    • Bootstrap Datepicker
    • Chart.js (for data visualization)

πŸ“¦ Requirements

  • Server: Apache or Nginx
  • PHP: Version 7.4 or higher (PHP 8.x compatible)
  • Database: MySQL 5.7+ or MariaDB 10.3+
  • PHP Extensions:
    • mysqli
    • session
    • mbstring
    • json

πŸš€ Installation

  1. Clone the repository

    git clone https://github.com/yourusername/CourseCentral.git
    cd CourseCentral
  2. Copy the code directory to your web server

    cp -r code /path/to/your/webroot/CourseCentral
  3. Set proper permissions

    chmod 755 /path/to/your/webroot/CourseCentral/code
  4. Import the database

  5. Configure the application

βš™οΈ Configuration

Database Configuration

⚠️ IMPORTANT: Update database credentials before deployment

Edit the code/config.php file and update the following variables:

$hostname = 'localhost';        // Your database host
$dbusername = 'your_username';  // Your database username
$dbpassword = 'your_password';  // Your database password
$dbname = 'your_database';      // Your database name

Security Note:

  • Never commit actual database credentials to version control
  • Consider using environment variables or a .env file for production
  • Use strong, unique passwords for production databases

Timezone Configuration

The system is configured for Africa/Khartoum timezone by default. To change it, edit code/config.php:

date_default_timezone_set("Your/Timezone");

System Name

The system name can be customized in code/config.php:

$SYSTEM_NAME = "CourseCentral";

πŸ—„ Database Setup

  1. Create a new MySQL database

    CREATE DATABASE concor CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  2. Import the database schema

    • A database backup file is available at code/backupdb/concor-main.sql
    • Import it using phpMyAdmin or command line:
      mysql -u your_username -p your_database < code/backupdb/concor-main.sql
  3. Verify database connection

    • Update database credentials in config.php (see Configuration section)
    • Test the connection by accessing the login page

Database Tables

The system uses the following main tables:

  • student - Student information
  • registration - Course registrations
  • group - Course groups
  • levels - Course levels
  • paymenttwo - Payment records
  • mark - Student marks/grades
  • members - System users
  • fees_change - Fee configuration
  • teacher - Teacher information
  • And many more supporting tables

πŸ“ Project Structure

CourseCentral/
β”œβ”€β”€ code/                          # Main application code
β”‚   β”œβ”€β”€ config.php                 # Main configuration file
β”‚   β”œβ”€β”€ configspecial.php          # Special configuration
β”‚   β”œβ”€β”€ helpers.php                # Helper functions
β”‚   β”œβ”€β”€ index.php                  # Login page
β”‚   β”œβ”€β”€ homepageAdmin.php          # Admin dashboard
β”‚   β”œβ”€β”€ checklogin.php             # Login authentication
β”‚   β”œβ”€β”€ Logout.php                 # Logout handler
β”‚   β”‚
β”‚   β”œβ”€β”€ Student Management/
β”‚   β”‚   β”œβ”€β”€ student.php           # Student management
β”‚   β”‚   β”œβ”€β”€ RegisFrom.php         # Registration form
β”‚   β”‚   β”œβ”€β”€ Regis.php              # Registration handler
β”‚   β”‚   └── StudentDataMan.php    # Student data management
β”‚   β”‚
β”‚   β”œβ”€β”€ Course Management/
β”‚   β”‚   β”œβ”€β”€ level.php              # Level management
β”‚   β”‚   β”œβ”€β”€ levelsform.php         # Level form
β”‚   β”‚   β”œβ”€β”€ groups.php             # Group management
β”‚   β”‚   └── groupsform.php         # Group form
β”‚   β”‚
β”‚   β”œβ”€β”€ Payment Management/
β”‚   β”‚   β”œβ”€β”€ PaymentTTF.php         # Payment handling
β”‚   β”‚   β”œβ”€β”€ SecondPayment.php      # Installment payments
β”‚   β”‚   β”œβ”€β”€ feesset.php            # Fee settings
β”‚   β”‚   └── OtherPaymentStudent.php # Extra payments
β”‚   β”‚
β”‚   β”œβ”€β”€ Reports/
β”‚   β”‚   β”œβ”€β”€ ReportlistOfGroup.php
β”‚   β”‚   β”œβ”€β”€ ReportlistofstudentsEandF.php
β”‚   β”‚   β”œβ”€β”€ ReportForaStudent.php
β”‚   β”‚   β”œβ”€β”€ ReportOfPaymentOfToday.php
β”‚   β”‚   └── [Many more report files]
β”‚   β”‚
β”‚   β”œβ”€β”€ Academic/
β”‚   β”‚   β”œβ”€β”€ Markformcontrol.php   # Mark entry
β”‚   β”‚   └── attendformcontrol.php  # Attendance
β”‚   β”‚
β”‚   β”œβ”€β”€ Freeze System/
β”‚   β”‚   β”œβ”€β”€ freezeform.php        # Freeze students
β”‚   β”‚   └── unfreezeform.php      # Unfreeze students
β”‚   β”‚
β”‚   β”œβ”€β”€ css/                       # Stylesheets
β”‚   β”œβ”€β”€ js/                        # JavaScript files
β”‚   β”œβ”€β”€ bootstrap/                 # Bootstrap framework
β”‚   β”œβ”€β”€ img/                       # Images and icons
β”‚   └── backupdb/                  # Database backups
β”‚
β”œβ”€β”€ README.md                      # This file
β”œβ”€β”€ IMPROVEMENTS_REPORT.md         # Code improvement report
└── SECURITY_FIXES_APPLIED.md      # Security fixes documentation

πŸ”’ Security Notes

This project has undergone security improvements. Key security features include:

  • βœ… Password hashing (using password_hash())
  • βœ… Prepared statements for SQL queries (in critical areas)
  • βœ… Session security enhancements
  • βœ… Database connection error handling
  • βœ… Input validation improvements

⚠️ Important Security Recommendations:

  1. Before Production Deployment:

    • Review and complete remaining security fixes (see SECURITY_FIXES_APPLIED.md)
    • Change all default passwords
    • Enable HTTPS/SSL
    • Move database credentials to environment variables
    • Implement CSRF protection for all forms
    • Add comprehensive input validation throughout
  2. Regular Maintenance:

    • Keep PHP and MySQL updated
    • Regularly backup the database
    • Monitor error logs
    • Review and update security measures

For detailed security information, see:

  • SECURITY_FIXES_APPLIED.md - Completed security fixes
  • IMPROVEMENTS_REPORT.md - Comprehensive security audit report

πŸ’» Usage

Accessing the System

  1. Navigate to the application URL in your web browser
  2. Login with your administrator credentials
  3. Use the admin dashboard to access various features

Common Workflows

Registering a New Student:

  1. Go to "Registration" from the dashboard
  2. Fill in student information
  3. Select course level and group
  4. Process payment
  5. Complete registration

Recording Payments:

  1. Navigate to "2nd Installment" or relevant payment section
  2. Select student and group
  3. Enter payment amount
  4. Save payment record

Entering Marks:

  1. Go to "Mark Entry"
  2. Select group and level
  3. Enter marks for each student
  4. Save marks

Generating Reports:

  1. Navigate to "Reports & Analytics" section
  2. Select desired report type
  3. Apply filters if needed
  4. Generate/print report

🀝 Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Development Guidelines:

  • Follow existing code style
  • Add comments for complex logic
  • Test thoroughly before submitting
  • Update documentation as needed
  • Prioritize security in all changes

πŸ“ License

This project is proprietary software. All rights reserved.

πŸ‘₯ Credits

  • System Name: CourseCentral
  • Powered by: Cafavalley
  • Framework: Bootstrap Responsive Admin Template

πŸ“ž Support

For issues, questions, or contributions:

  • Create an issue in the GitHub repository
  • Review the documentation files (IMPROVEMENTS_REPORT.md, SECURITY_FIXES_APPLIED.md)

πŸ”„ Version History

  • Current Version: In development
  • See code/PatchNotes.txt for detailed version history

Note: This system is designed for educational institutions to manage courses, students, payments, and academic records. Ensure proper backup procedures are in place before deploying to production.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages