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.
40 lines
1.6 KiB
Markdown
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.
|