SchoolPlus - READY-TO-UPLOAD package (vendor/ included, TimeTable folder case fixed) ==================================================================================== 1. Upload this zip ABOVE your web root (e.g. /home/USER/) and extract it. Point the (sub)domain's Document Root at Laravel-SMS-master/public 2. cPanel > Select PHP Version > choose PHP 8.0 (or 7.4). Do NOT use 8.1+ (bundled Laravel 8.42 crashes on it). Enable: bcmath ctype fileinfo json mbstring openssl pdo pdo_mysql tokenizer xml curl gd 3. Create a MySQL database + user (All Privileges) in cPanel > MySQL Databases. 4. Copy .env.production.example to .env and fill in APP_URL, DB_*, MAIL_*. Set APP_KEY to a NEW key for each site (see below). Keep APP_DEBUG=false. 5. Make storage/ and bootstrap/cache/ writable (permission 775). 6. Create tables + Super Admin WITHOUT a terminal: - Rename INSTALL-ONCE.php.txt to install-once.php and move it into the public/ folder. - Open https://YOUR-DOMAIN/install-once.php?key=12e82fa882918472f2d50651f7f5de06 - Copy the Super Admin username/password shown. It also creates the public/storage link (photos/logo) automatically. The file deletes itself after it succeeds (check public/install-once.php is gone, otherwise delete it). - Keep the School Acronym (Super Admin > Settings) SHORT: 10 characters or fewer, no spaces. 7. Log in and change the Super Admin password. 8. The public school website is at / and is managed from Super Admin > Website (see WEBSITE-GUIDE.txt). What changed in this version: WHATS-NEW.txt. 9. Online fee payment: Administrative > Payments > Payment Gateways (Paystack / Flutterwave / Bank Transfer). Set APP_URL to your https address first. New APP_KEY: use any "Laravel APP_KEY generator", or on a computer with PHP run: php -r "echo 'base64:'.base64_encode(random_bytes(32)).PHP_EOL;"