ELEVATOR SKILLS ACADEMY — INSTALLATION GUIDE

REQUIREMENTS
- PHP 8.0+ (PHP 8.1 recommended)
- MySQL 5.7+ or MariaDB 10.3+
- PDO MySQL enabled
- HTTPS recommended

INSTALL
1. Create a MySQL database and database user in cPanel. Grant that user all privileges on the database.
2. Open phpMyAdmin, select the new database, and import database.sql. The SQL includes a USE elevator_skills statement; if your hosting provider assigned a different database name, either create elevator_skills if allowed or remove the first two SQL lines and import into the selected database.
3. Edit config.php and enter DB_HOST, DB_NAME, DB_USER, DB_PASS. If the app is in a subfolder, set BASE_URL to its full URL without a trailing slash, for example https://example.com/skills.
4. Upload the complete elevator_skills_training folder contents to your hosting folder. Keep assets/, includes/, and admin/ together with the PHP files.
5. Visit register.php and create your own account.
6. Promote your account to administrator using phpMyAdmin, replacing the email below with your own account email:
   UPDATE users SET role='admin' WHERE email='you@example.com';
7. Log out and back in. The Admin link will appear. Add/edit courses and lessons, publish courses, and manage users/access requests.
8. Delete or secure this guide after installation if you prefer.

FREE AND PAID COURSE ACCESS
- Free published courses can be opened by any signed-in learner (and are visible on the public catalogue).
- Paid courses require the learner to submit an access request and an administrator to approve it.
- This package does NOT charge cards or verify bank transfers. Verify the payment in your own payment/bank dashboard before approving a request. Integrate a payment gateway and server-side verified webhook before offering automatic payment access.

TEXT-TO-SPEECH
- The Listen feature uses the browser's built-in SpeechSynthesis API. Voice selection depends on voices installed on the user's device/browser. Nigerian English voices are not guaranteed to be available; the app cannot download or create a voice by itself.
- TTS requires JavaScript and a supported modern browser. Text content is spoken from the rendered lesson page.

SECURITY NOTES
- Passwords are hashed, database writes use prepared statements, and POST forms use CSRF tokens.
- Only trusted administrators should create lessons. Lesson content supports basic HTML; do not give admin credentials to untrusted users and do not paste scripts into lesson content.
- Use HTTPS, strong passwords, database backups, and keep PHP/hosting updated. Add email verification, password reset, rate limiting, and gateway integration before production use.
- The default registration form does not permit users to choose an admin role.

PROJECT FILES
index.php              Public course catalogue / home
register.php, login.php Account management
logout.php              Sign out
dashboard.php            Learner dashboard
course.php               Course details and paid access requests
lesson.php               Lesson reader with browser TTS
admin/index.php          Admin overview
admin/courses.php        Create/edit/publish/delete courses
admin/lessons.php        Create/edit/delete lessons
admin/users.php          Manage user role and status
admin/enrollments.php    Review course access requests
config.php               Database and app settings
functions.php            Shared authentication/security helpers
database.sql             Tables and sample courses/lessons
assets/style.css         Responsive design
assets/app.js            TTS controls
