WP Manifestindependent plugin directory
manifest / unclassified / school_management_system

School Management System

A comprehensive WordPress-based School Management System for streamlined administrative tasks, communication, and financial management.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/kiunye/school_management_system/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

A comprehensive WordPress-based School Management System designed to streamline administrative tasks, enhance communication between stakeholders, and provide robust financial and academic management capabilities.

Features

Academic Management

  • Student Management: Complete student lifecycle from admission to graduation
  • Class Management: Dynamic class creation with capacity management
  • Attendance Tracking: Real-time attendance marking with parent notifications
  • Timetable Management: Drag-and-drop timetable builder with conflict detection
  • Grade Management: Comprehensive grading and progress tracking

Financial Management

  • Fee Structure Management: Flexible fee types with installment options
  • Multi-Gateway Payments: M-Pesa, Airtel Money, and bank transfer integration
  • Invoice Generation: Automated invoice creation and management
  • Payment Tracking: Real-time payment status and history
  • Financial Reporting: Comprehensive financial analytics

Communication System

  • SMS Integration: Bulk SMS via Africastalking API
  • Notice Board: Targeted announcements with file attachments
  • Parent Notifications: Automated alerts for attendance and payments
  • Multi-channel Communication: SMS, email, and in-app messaging

Transport Management

  • Route Management: Transport route creation with stops and timing
  • Student Assignment: Capacity-aware student-route assignments
  • Driver Management: Driver information and vehicle tracking
  • Transport Fees: Automated transport fee calculation

Reports & Analytics

  • Financial Reports: Income, expense, and cash flow analysis
  • Academic Reports: Attendance, performance, and enrollment statistics
  • Export Options: PDF, Excel, and CSV export formats
  • Real-time Dashboards: Role-based dashboard views

User Management

  • Role-based Access: Administrator, Teacher, Parent, and Student roles
  • Custom Permissions: Granular capability management
  • Automated Account Creation: Parent accounts created during student enrollment
  • Secure Authentication: WordPress-native security with custom enhancements

Technical Specifications

Requirements

  • WordPress: 6.0 or higher
  • PHP: 8.0 or higher
  • Database: MySQL 8.0+ or MariaDB 10.5+
  • Required Plugins: Advanced Custom Fields Pro, User Role Editor

Architecture

  • Plugin-based Architecture: Modular WordPress plugin structure
  • Custom Post Types: Core entities (students, classes, fees, etc.)
  • Custom Taxonomies: Academic classifications and categorization
  • REST API: External integrations and mobile app support
  • Responsive Design: Mobile-first responsive interface

Third-party Integrations

  • Africastalking SMS API: Bulk SMS communication
  • M-Pesa STK Push: Mobile money payments
  • Airtel Money API: Alternative mobile payment option
  • WordPress SMTP: Email communication

Installation

Prerequisites

  1. WordPress 6.0+ installation
  2. PHP 8.0+ with required extensions
  3. MySQL 8.0+ or MariaDB 10.5+
  4. Advanced Custom Fields Pro plugin
  5. User Role Editor plugin

Configuration

Initial Setup

  1. School Information: Configure basic school details
  2. Academic Year: Set up current academic year and terms
  3. User Roles: Review and customize user permissions
  4. Payment Gateways: Configure M-Pesa, Airtel Money settings
  5. SMS Service: Set up Africastalking API credentials

Payment Gateway Configuration

M-Pesa Setup

// M-Pesa configuration in SMS Settings
$mpesa_config = [
    'environment' => 'sandbox', // or 'production'
    'consumer_key' => 'your_consumer_key',
    'consumer_secret' => 'your_consumer_secret',
    'shortcode' => 'your_shortcode',
    'passkey' => 'your_passkey'
];

Africastalking SMS Setup

// SMS configuration in SMS Settings
$sms_config = [
    'username' => 'your_username',
    'api_key' => 'your_api_key',
    'sender_id' => 'your_sender_id'
];

📖 Usage

For Administrators

  1. Student Management: Add students, manage enrollments, track progress
  2. Financial Management: Set up fees, generate invoices, monitor payments
  3. System Configuration: Configure payment gateways, SMS settings, user roles
  4. Reporting: Generate comprehensive reports and analytics

For Teachers

  1. Attendance Marking: Mark daily attendance for assigned classes
  2. Student Records: View and update student academic information
  3. Communication: Send messages to parents and students
  4. Timetable Management: View and manage teaching schedules

For Parents

  1. Child Monitoring: View child's attendance, grades, and progress
  2. Fee Payments: Pay school fees using mobile money or bank transfer
  3. Communication: Receive notifications and communicate with teachers
  4. School Updates: Access school notices and announcements

Development

Development Setup

# Clone the repository
git clone https://github.com/school-management-system/sms.git

# Install dependencies
composer install

# Set up local development environment
wp core download
wp config create --dbname=sms_dev --dbuser=root --dbpass=password

# Activate development plugins
wp plugin activate query-monitor
wp plugin activate debug-bar

Testing

# Run unit tests
vendor/bin/phpunit

# Run integration tests
vendor/bin/phpunit --configuration phpunit-integration.xml

# Code quality checks
vendor/bin/phpcs --standard=WordPress src/
vendor/bin/phpstan analyse src/

Contributing

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

Documentation

User Manuals

Technical Documentation

Additional Resources

Security

Security Features

  • Input Sanitization: All user inputs sanitized using WordPress functions
  • SQL Injection Prevention: Prepared statements for all database queries
  • XSS Prevention: Output escaping for all displayed content
  • CSRF Protection: WordPress nonces for all form submissions
  • Role-based Access Control: Granular permissions for different user types

Payment Security

  • Credential Encryption: API keys encrypted using WordPress functions
  • Callback Validation: Gateway-specific signature verification
  • Transaction Logging: Comprehensive audit trail for all transactions
  • PCI Compliance: No sensitive payment data stored locally

Performance

Optimization Features

  • Database Indexing: Optimized indexes for frequently queried fields
  • Query Optimization: Efficient WordPress queries with proper caching
  • Object Caching: WordPress object cache for frequently accessed data
  • Image Optimization: Compressed images and lazy loading
  • Minification: CSS and JavaScript minification

Performance Targets

  • Page Load Time: < 3 seconds for standard operations
  • Database Queries: < 50 queries per page load
  • Memory Usage: < 256MB per request
  • API Response Time: < 2 seconds

Troubleshooting

Common Issues

Plugin Activation Errors

Error: The plugin does not have a valid header.

Solution: Ensure the main plugin file has proper WordPress headers.

Payment Gateway Issues

M-Pesa: Invalid credentials

Solution: Verify API credentials and environment settings in SMS Settings.

SMS Delivery Problems

Africastalking: Insufficient balance

Solution: Check SMS credit balance and top up if necessary.

Debug Mode

Enable WordPress debug mode for troubleshooting:

// wp-config.php
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

License

This project is licensed under the GPL v2 or later - see the LICENSE file for details.

Acknowledgments

  • WordPress Community: For the excellent platform and ecosystem
  • Africastalking: For reliable SMS API services
  • Safaricom: For M-Pesa payment gateway integration
  • Contributors: All developers who have contributed to this project

Roadmap

Version 2.0 (Planned)

  • [ ] Mobile application for iOS and Android
  • [ ] Advanced reporting with data visualization
  • [ ] Integration with learning management systems
  • [ ] Multi-school support for school chains
  • [ ] Advanced analytics and AI insights

Version 1.5 (In Development)

  • [ ] Examination management system
  • [ ] Library management integration
  • [ ] Hostel management features
  • [ ] Advanced parent-teacher communication tools
  • [ ] Inventory management system

Statistics

  • Lines of Code: 50,000+
  • Test Coverage: 85%+
  • Supported Languages: English (more coming soon)
  • Active Installations: 100+ schools
  • Countries: Kenya, Uganda, Tanzania

Features in Detail

Student Management

  • Comprehensive student profiles with photos
  • Admission number auto-generation
  • Parent account auto-creation
  • Medical information tracking
  • Emergency contact management
  • Academic history tracking
  • Bulk import/export capabilities

Financial Management

  • Multiple fee types and categories
  • Installment payment options
  • Automatic penalty calculations
  • Multi-currency support (planned)
  • Payment reminders and notifications
  • Comprehensive financial reporting
  • Integration with accounting systems (planned)

Communication System

  • Bulk SMS with delivery reports
  • Email notifications
  • In-app messaging
  • Notice board with file attachments
  • Automated notifications
  • Message templates
  • Multi-language support (planned)

Academic Management

  • Flexible class structures
  • Subject and teacher assignments
  • Timetable conflict detection
  • Attendance tracking with analytics
  • Grade management
  • Progress reports
  • Academic calendar integration