atlas-os/docs/academy.md
Atlas Developer a3a882a001 docs: generalize all domain refs to YOUR_DOMAIN — make repo showcase-safe and reproducible
Replace every hardcoded atlascorporation.nl URL with YOUR_DOMAIN placeholder.
Remove private client site names (replaced with example.com markers).
Remove specific Tailscale tailnet address.
Remove mosque name — now configurable.
Add sed one-liner at top of README for instant domain swap.
Deploy section is now the canonical getting-started path for anyone cloning.
2026-06-22 22:35:08 +02:00

40 lines
1.6 KiB
Markdown

# Atlas Academy
An education arm running on the same box: coaching, courses, and a curriculum spanning ESF-funded tracks, BiSL, startup, and AI. Deployed at `academy.YOUR_DOMAIN`.
## Hosting
Served as static HTML + a PHP product feed via nginx, fronted by the same brand and analytics as the rest of the stack.
**Key pages:** `index`, `coaching`, `cursussen`, `pricing`, `leerpad`, `shop`, `esf`, `bisl`, plus per-course pages.
## Lead capture → Odoo CRM
Academy leads flow straight into Odoo CRM as `crm.lead` records — no manual re-entry.
```
Academy page (form)
│ POST { name, email, interest, source }
atlas-academy-relay (systemd, internal port)
├─► Odoo → creates crm.lead, returns { ok: true, lead_id: N }
└─► email fallback → admin@YOUR_DOMAIN
```
The relay is exposed via Caddy at `/academy-lead` (proxied to `127.0.0.1:<relay-port>`). It caches the Odoo UID so it does not re-authenticate on every lead.
## Product feed
Courses and hardware bundles are pulled from WooCommerce via a JSON feed, so the Academy shop stays in sync with the live store without duplicating product data.
```
GET https://YOUR_STORE/academy-feed.php
→ { ts, count, products[] } # each: { id, title, price, type, img, url, cats }
```
Product types: `laptop`, `desktop`, `monitor`, `accessory`, `bundle`, `pos`.
## Principle
Academy content follows the same hard rule as the rest of Atlas OS: **no fabricated data.** No invented student counts, testimonials, ratings, or review quotes — sections are left as placeholders or omitted until real data exists.