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.
- Features
- Technology Stack
- Requirements
- Installation
- Configuration
- Database Setup
- Project Structure
- Security Notes
- Usage
- Contributing
- License
- 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
- 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
- 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
- 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 Studies: Temporarily freeze student enrollment
- Unfreeze Studies: Resume frozen student enrollment
- Freeze Reports: Track all frozen students and their status
- 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
- 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
- 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.)
- 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)
- 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
-
Clone the repository
git clone https://github.com/yourusername/CourseCentral.git cd CourseCentral -
Copy the code directory to your web server
cp -r code /path/to/your/webroot/CourseCentral
-
Set proper permissions
chmod 755 /path/to/your/webroot/CourseCentral/code
-
Import the database
- See Database Setup section below
-
Configure the application
- See Configuration section below
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 nameSecurity Note:
- Never commit actual database credentials to version control
- Consider using environment variables or a
.envfile for production - Use strong, unique passwords for production databases
The system is configured for Africa/Khartoum timezone by default. To change it, edit code/config.php:
date_default_timezone_set("Your/Timezone");The system name can be customized in code/config.php:
$SYSTEM_NAME = "CourseCentral";-
Create a new MySQL database
CREATE DATABASE concor CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-
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
- A database backup file is available at
-
Verify database connection
- Update database credentials in
config.php(see Configuration section) - Test the connection by accessing the login page
- Update database credentials in
The system uses the following main tables:
student- Student informationregistration- Course registrationsgroup- Course groupslevels- Course levelspaymenttwo- Payment recordsmark- Student marks/gradesmembers- System usersfees_change- Fee configurationteacher- Teacher information- And many more supporting tables
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
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
-
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
- Review and complete remaining security fixes (see
-
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 fixesIMPROVEMENTS_REPORT.md- Comprehensive security audit report
- Navigate to the application URL in your web browser
- Login with your administrator credentials
- Use the admin dashboard to access various features
Registering a New Student:
- Go to "Registration" from the dashboard
- Fill in student information
- Select course level and group
- Process payment
- Complete registration
Recording Payments:
- Navigate to "2nd Installment" or relevant payment section
- Select student and group
- Enter payment amount
- Save payment record
Entering Marks:
- Go to "Mark Entry"
- Select group and level
- Enter marks for each student
- Save marks
Generating Reports:
- Navigate to "Reports & Analytics" section
- Select desired report type
- Apply filters if needed
- Generate/print report
Contributions are welcome! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - 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
This project is proprietary software. All rights reserved.
- System Name: CourseCentral
- Powered by: Cafavalley
- Framework: Bootstrap Responsive Admin Template
For issues, questions, or contributions:
- Create an issue in the GitHub repository
- Review the documentation files (
IMPROVEMENTS_REPORT.md,SECURITY_FIXES_APPLIED.md)
- Current Version: In development
- See
code/PatchNotes.txtfor 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.