diff --git a/docs/VCODER_PITCH.md b/docs/VCODER_PITCH.md new file mode 100644 index 0000000..4a77043 --- /dev/null +++ b/docs/VCODER_PITCH.md @@ -0,0 +1,419 @@ +# πŸ’» vcoder: Cloud IDE fΓΌr Maker & Embedded Developers + +## 🎯 Vision + +**Stell dir vor:** Jeder Maker bekommt seine eigene **Cloud-IDE fΓΌr ESP8266-Entwicklung** – persistenter Workspace, PlatformIO vorinstalliert, direkt im Browser, geschΓΌtzt durch JWT. + +Keine lokale Installation. Keine Komplikationen. Einfach Login und coden. + +--- + +## πŸ—οΈ Architektur: Das Spawner Γ–kosystem + +### Was ist Container Spawner? + +Ein **Production-Stack** fΓΌr persΓΆnliche Developer-Umgebungen: + +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Browser / Nutzer β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ + β–Ό + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Traefik Reverse β”‚ + β”‚ Proxy (SSL) β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β–Ό β–Ό β–Ό + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ user1 β”‚ β”‚ user2 β”‚ β”‚ user3 β”‚ + β”‚ IDE β”‚ β”‚ Docs β”‚ β”‚ Chat β”‚ ← Isolierte Container + β”‚ vcoder β”‚ β”‚ Wiki β”‚ β”‚ API β”‚ pro User + β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β”‚ β”‚ β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + β–Ό + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ Docker Volumes (Daten) β”‚ + β”‚ /data/users/{id}/ β”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +**Kernfeatures:** +- βœ… **Passwordless Auth**: Magic Links per Email (keine PasswΓΆrter!) +- βœ… **Multi-Template System**: Templates sind einfach Docker Images +- βœ… **Persistent Data**: User-Daten bleiben ΓΌber Container-Restarts erhalten +- βœ… **JWT Security**: HttpOnly Cookies, CSRF-Schutz +- βœ… **Skalierbar**: Jeden User in eigenem Container isolieren + +### Die Template-Architektur + +Ein **Template** = ein Docker Image mit einer speziellen Applikation: + +| Template | Beschreibung | Status | +|----------|------------|--------| +| `template-01` | Nginx Basic | βœ… Stable | +| `template-next` | Next.js React App | βœ… Stable | +| `dictionary` | PersΓΆnliches WΓΆrterbuch (Flask) | βœ… Working | +| **`vcoder`** | **ESP8266 IDE (code-server + PlatformIO)** | 🟑 Beta | + +Jeder User **wΓ€hlt sein Template im Dashboard** β†’ Spawner startet automatisch einen isolierten Container β†’ User erhΓ€lt eigene URL: `https://spawner.domain.com/-