# Ultimate Deployment Guide

This guide explains how to deploy the Ultimate edition.

---

## 1. Recommended deployment principle
Upload the **contents** of the `ultimate` folder to the root of your repository or hosting project.

This ensures the site root directly contains the HTML pages, assets, vendor files, notes, maps, brand kit, and docs.

---

## 2. Deployment modes

### Mode A — Fully static free mode
Use:
- all learning pages
- notes
- maps
- teacher page
- onboarding page
- testimonials page
- certificate generation and validation pages
- demo portal and admin mode

### Mode B — Static + Supabase free-tier auth
Add:
- `auth.html`
- `dashboard.html`
- configured Supabase project

---

## 3. GitHub Pages steps
1. Create a new GitHub repository.
2. Extract `ultimate/ultimate-upload.zip`.
3. Upload the extracted **contents** into the repository root.
4. Go to **Settings → Pages**.
5. Choose:
   - Source: Deploy from a branch
   - Branch: `main`
   - Folder: `/ (root)`
6. Save.
7. Wait for GitHub Pages to publish.
8. Test the full suite.

---

## 4. Cloudflare Pages steps
1. Push the project to GitHub.
2. Connect it in Cloudflare Pages.
3. Use:
   - Framework preset: None
   - Build command: blank
   - Output directory: `.`
4. If the project remains nested under `ultimate`, set that folder as base directory.
5. Deploy and test.

---

## 5. Netlify steps
1. Import the GitHub repository.
2. Use:
   - Base directory: blank if the project files are in repo root
   - Base directory: `ultimate` if nested
   - Build command: blank
   - Publish directory: `.`
3. Deploy.

---

## 6. Local preview
```bash
python -m http.server 8000
```
Then open:
```text
http://localhost:8000/ultimate/
```

---

## 7. Post-deployment checklist
- [ ] home page works
- [ ] course catalog works
- [ ] curriculum page renders modules and tracks
- [ ] curriculum maps open
- [ ] playground runs SQL
- [ ] practice checks challenges
- [ ] notes download
- [ ] teacher dashboard renders
- [ ] certificates page prints and saves local record
- [ ] certificate validation page works
- [ ] onboarding page generates summary
- [ ] testimonials page renders
- [ ] institutions page renders
- [ ] demo portal works
- [ ] admin page works
- [ ] optional Supabase auth works if enabled

---

## 8. Best recommendation
Launch static free mode first.
Then enable optional Supabase auth later if stronger identity handling is needed.
