SchoolKit
SchoolKit is a simple, modular micro-framework for building school applications.
Quick Start
Get up and running with SchoolKit in minutes:
<?php
require_once 'schoolkit.php';
// Example configuration
$config = [
'db' => [
'dsn' => 'mysql:host=localhost;dbname=schoolkit;charset=utf8mb4',
'user' => 'your_username',
'pass' => 'your_password'
],
'storage_path' => __DIR__ . '/storage'
];
// For local development
/*
$config = [
'db' => [
'dsn' => 'mysql:host=localhost;dbname=schoolkit_dev;charset=utf8mb4',
'user' => 'your_username',
'pass' => 'your_password'
],
'storage_path' => __DIR__ . '/storage'
];
*/
$schoolKit = SchoolKit::start($config);
// Create a student
$studentId = $schoolKit->directory()->createStudent([
'first_name' => 'John',
'last_name' => 'Doe',
'grade_level' => '10'
]);
echo "Student created with ID: {$studentId}";
?>
Core Features
Database
Simple, secure wrapper around PDO with built-in query building and validation.
Send emails using log or mail transport with built-in template support.
Files
Handle file uploads and storage with automatic validation and organization.
CSRF Protection
Protect against cross-site request forgery with automatic token generation.
School Modules
Directory
Manage students, staff, and organizational structure with comprehensive profiles.
Parent-Teacher Conferences
Schedule and manage parent-teacher conference appointments and bookings.
After-School Activities
Organize and manage after-school programs with enrollment tracking.
Messaging
Send targeted messages to students, parents, and staff with delivery tracking.
Authentication
User registration, login, and role-based access control for secure applications.