================================================================================
TSN Digital Academy — cPanel shared hosting deploy guide
================================================================================

WHAT TO UPLOAD
--------------
Upload everything INSIDE the "Main Files/" folder into your Python App root
(the folder that contains manage.py after upload).

Do NOT upload: venv/, .env, db.sqlite3, or this ZIP's Documentation/ folder
into the app root (Documentation is for you to read offline).


BEFORE YOU START
----------------
1) Create a MySQL database + user in cPanel → MySQL® Databases
   (All Privileges). Write down: DB name, user, password, host (usually
   localhost).

2) cPanel → Setup Python App → Create:
   - Python 3.10+ (prefer 3.11/3.12)
   - Application root = e.g. academy
   - Application URL = your domain/subdomain
   - Startup file = passenger_wsgi.py
   - Entry point = application


INSTALL PACKAGES
----------------
Copy the "Enter to the virtual environment" command from Setup Python App,
open Terminal/SSH, then:

  cd ~/academy          # your application root
  pip install -r requirements.txt
  python manage.py collectstatic --noinput

Restart the Python App in cPanel.


WEB INSTALLER
-------------
Open:  https://YOUR-DOMAIN/install/

Choose MySQL, enter DB credentials, set academy name + admin login.
The installer writes .env, runs migrations, and creates your admin.


AFTER INSTALL
-------------
1) Log in → open Admin Guide from the dashboard sidebar
2) Academy Settings → Branding, Payments, Email/SMTP (send a test email)
3) Manage Courses → create/publish courses
4) Import verified questions (needed for exams + Free skill check)
5) Toggle "Enable Free skill check" per course under Growth & marketing


PERMISSIONS
-----------
These folders must be writable by the app:
  media/   logs/   storage/   staticfiles/


STATIC & MEDIA
--------------
- Static CSS/JS: WhiteNoise serves them after collectstatic
- Media uploads: Django serves /media/ by default (SERVE_MEDIA=True in .env)


COMMON PROBLEMS
---------------
- 500 error after deploy → restart app; check passenger_wsgi.py + pip install
- CSS missing → run collectstatic --noinput and restart
- /install/ loops or blocked → delete storage/installed only if you intend to
  reinstall (also reset DB if needed)
- Skill check error "need 12 verified questions" → import & verify questions


SUPPORT FILES IN THIS ZIP
-------------------------
START-HERE.html              — visual quick start (open in browser)
Documentation/index.html     — product documentation
Documentation/admin-guide.html — full admin how-to (every module)
Main Files/                  — application source
================================================================================
