Schul-Intranet · Open Source · Self-Hosted

MonteWeb

Eine Plattform für die ganze Schule. Von der Krippe bis zur Oberstufe.

Modulares Schul-Intranet für Montessori-Schulkomplexe: Newsfeed, Räume pro Klasse, Familienverbund mit Stundenkonto, Elternstunden-Jobbörse mit Jahresabrechnung, Kalender, Chat, Dateiablage. Selbst gehostet, DSGVO-konform, ohne Cloud-Zwang.

16

Module

Vom Feed bis zur Putz-Org

917

Frontend-Tests

Vitest + vue-test-utils

52

DB-Migrationen

Flyway, versioniert

PWA

Installierbar

Mit Offline-Cache

Funktionen

Alles, was eine moderne Schul-Community braucht — in einer Plattform.

Feed & Nachrichten

Schulweiter Newsfeed mit Posts, Kommentaren, System-Bannern und gezielten Posts für bestimmte Nutzergruppen.

Räume

Klassen, Gruppen und Projekte mit Mitgliederverwaltung, Diskussions-Threads, Chat und Beitrittsanfragen.

Familienverbund

Familien mit Einladungscodes, gemeinsamem Stundenkonto, Kinderzuordnung und optionaler Stundenbefreiung.

Elternstunden-Jobbörse

Jobs mit Anmeldung, Bestätigung, Jahresabrechnung pro Familie und PDF-Export. Pflicht-Funktion an vielen Schulen.

Putz-Organisation

Putzaktionen mit automatischer Kalender-Event- und Job-Erstellung, Familien-Anmeldeliste — ein Klick, Termin und Jobs sind angelegt.

Kalender

Events auf Raum-, Bereichs- oder Schulebene mit RSVP, Absage-Benachrichtigungen und iCal-Export für externe Kalender.

Formulare & Umfragen

Multi-Bereichs-Targeting, Einverständniserklärungen, Dashboard-Widget, CSV- und PDF-Export der Antworten.

Fotobox

Foto-Threads pro Raum mit Thumbnails, Lightbox und Zielgruppen-Sichtbarkeit — Bilder vom Ausflug an die richtigen Eltern.

Direktnachrichten

Echtzeit-Chat via WebSocket mit konfigurierbaren Kommunikationsregeln (z. B. Schüler ↔ Lehrer erlaubt, Schüler ↔ Schüler nicht).

Dateiverwaltung

Dateiablage pro Raum via MinIO (S3-kompatibel) mit Ordner-Zielgruppen und Auto-Ordnern für Klassen.

Benachrichtigungen

In-App-Benachrichtigungen plus optionale Web Push Notifications via VAPID — auch auf dem Smartphone.

PWA

Installierbar auf Smartphone oder Tablet. Eigene Termine und Jobs werden offline zwischengespeichert.

Souverän und DSGVO-konform

Schul-Daten gehören in die Schule — nicht in irgendeine Cloud.

OIDC / SSO

Optionale Anbindung an externe Identity Provider. Bestehendes Schul-Login weiter nutzen.

Mehrsprachig

Deutsch und Englisch mit Browser-Locale-Erkennung. Weitere Sprachen über vue-i18n nachrüstbar.

DSGVO

Datenexport pro Nutzer, Account-Löschung, Audit-Log, klare Zielgruppen-Sichtbarkeit pro Inhalt.

Self-Hosted

Komplett auf eigenem Server via Docker Compose. Keine Cloud-Abhängigkeit, keine Datenweitergabe.

Modulare Architektur

Spring Modulith im Backend: jedes Feature ist ein eigenständiges Modul mit klarer Schnittstelle. Schaltbar pro Schule.

monteweb/
├── backend/  (Java 21 · Spring Boot 3.4 · Modulith)
│   └── auth — JWT, OIDC, Session-Verwaltung
│   └── user — Benutzerprofile, Rollen, Sichtbarkeit
│   └── family — Familienverbund, Stundenkonto
│   └── school — Bereiche von Krippe bis Oberstufe
│   └── room — Räume, Threads, Mitgliederverwaltung
│   └── feed — Newsfeed, Posts, Kommentare, Banner
│   └── calendar — Events, RSVP, iCal
│   └── notification — In-App + Web Push (VAPID)
│   └── messaging — Direktnachrichten, Chat
│   └── files — Dateiablage, Ordner-Sichtbarkeit (MinIO)
│   └── jobboard — Elternstunden, Jahresabrechnung
│   └── cleaning — Putzaktionen, Familien-Anmeldung
│   └── forms — Formulare, Umfragen, Export
│
├── frontend/  (Vue 3.5 · TypeScript · PrimeVue · PWA)
│   ├── 917 Tests in 109 Dateien
│   └── i18n: de, en (vue-i18n)
│
└── infra/  (Docker Compose · nginx · Prometheus · Grafana)
    ├── PostgreSQL 16 · Redis 7 · MinIO
    └── 52 Flyway-Migrationen, versioniert

Tech-Stack

BackendJava 21 · Spring Boot 3.4 · Spring Modulith 1.3 · JWT
PersistenzPostgreSQL 16 · Flyway (52 Migrationen) · Redis 7
FrontendVue 3.5 · TypeScript 5.9 · Vite 7 · PrimeVue 4 · Pinia 3
EchtzeitSpring WebSocket + Redis Pub/Sub
DateienMinIO (S3-kompatibel)
InfrastrukturDocker Compose · nginx Reverse Proxy
Tests917 Frontend (Vitest) · 37 Backend-Klassen (Testcontainers)
MonitoringPrometheus + Grafana (optional)

Schnellstart

Drei Befehle bis zum laufenden Intranet. Voraussetzung: Docker + Docker Compose.

# 1. Repository klonen
git clone https://github.com/phash/monteweb.git
cd monteweb

# 2. Konfiguration anpassen (DB-Passwörter, JWT-Secret, VAPID-Keys)
cp .env.example .env
nano .env

# 3. Stack starten
docker compose up -d

# → erreichbar unter http://localhost
Weitere Projekte

Verwandte Projekte

Weitere Open-Source-Lösungen aus dem phash.de-Portfolio — alle selbst gehostet, ohne Cloud-Zwang.

Für eure Schule anpassen

MonteWeb ist Open Source und auf Montessori-Schulkomplexe zugeschnitten — lässt sich aber auch für andere Schulformen erweitern. Für individuelle Anpassungen, Hosting oder Migration bestehender Daten: schreib mir.