Apps
Was auf ASafariM OS läuft, und die Produkte, die daneben entstehen: wo Sie jedes finden und wie weit es ist.
Im OS enthalten
-
Identity
Eine Anmeldung für jede App
Melden Sie sich einmal mit einem E-Mail-Code, einem Passkey oder Google an, und jede OS-App weiß, wer Sie sind. Wer neu ist, beantragt mit einer kurzen Notiz Zugang zu den Apps, die er braucht, und ein Administrator genehmigt.
-
Web-App
id.asafarim.site
Live
Anmeldung, Ihr Konto und Zugangsanfragen.
-
Web-App
id.asafarim.site
Live
-
Docs
Ihre Dokumentation lesen, Notizen machen
Ein privater Reader für Dokumentations-Repositories: Lesen Sie das Markdown, führen Sie Lernnotizen dazu und machen Sie aus einer Notiz ein GitHub-Issue im Repository, zu dem das Dokument gehört.
-
Web-App
docs.asafarim.site
Live
Für Personen, denen ein Administrator eine Docs-Rolle gegeben hat.
-
Web-App
docs.asafarim.site
Live
-
Flow
Workflows, die auf Events laufen
Bauen Sie einen Workflow visuell, starten Sie ihn über ein OS-Event, einen Webhook oder GitHub, und lassen Sie Menschen einen Schritt genehmigen oder ablehnen, bevor es weitergeht. Sechs Konnektoren, ein verschlüsselter Speicher für Zugangsdaten und Entwürfe, die Claude aus einem Issue schreibt und die nie von selbst laufen.
-
Web-App
flow.asafarim.site
Live
Für Personen, denen ein Administrator eine Flow-Rolle gegeben hat.
-
Web-App
flow.asafarim.site
Live
-
Admin
Das OS verwalten
Die installierten Apps und ihr Zustand, Rollen und Zuweisungen, Zugangsanfragen und ein Audit-Center für Anmeldungen, Zugangsentscheidungen und Änderungen durch Administratoren.
-
Web-App
admin.asafarim.site
Nur Personal
Nur für Administratoren, daher hier nicht verlinkt.
-
Web-App
admin.asafarim.site
Nur Personal
-
Notes
Die Referenz-App
Die kleinste App, die den Vertrag von Anfang bis Ende zeigt: ein Manifest, eine eigene Datenbank, die Selbstregistrierung, die Anmeldung über Identity und Rollen, die ein Administrator vergibt.
-
Beispiel
Lokale Entwicklung
In Entwicklung
Läuft in der Entwicklungsumgebung; nicht bereitgestellt.
-
Beispiel
Lokale Entwicklung
In Entwicklung
Produkte von ASafariM
Mit eigenem Code und eigenen Domains, im Stil des OS; ihre Projektseiten werden vom OS ausgeliefert.
-
IGS-Pharma
Eine Online-Apotheke für Belgien
Gebaut mit einer belgischen Apotheke: ein Webshop für rezeptfreie Produkte mit einem Apotheker, der mitschaut, ein Back-Office für das Apothekenteam und eine kostenlose Android-App. Eigener Code und eigene Domain, im Stil des OS; die Projektseite wird vom OS ausgeliefert.
-
Website
igs.asafarim.site
Live
Das Projekt, auf Niederländisch, Französisch, Deutsch und Englisch, mit den Datenschutzseiten der App.
-
Webshop
igs-pharma.be
Früher Zugang
Bis zum Start geschlossen: Kunden, die die Apotheke einlädt oder freigibt, sehen ihn schon.
-
Android-App
Google Play
Im Test
Stöbern, suchen, eine Packung scannen und eine Liste führen; Bestellungen gehen über den Webshop. Im internen Test.
-
Back-Office
Apothekenpersonal
Nur Personal
Katalog, Preise, Bestand und Rückrufe, Bestellungen, Lieferung und früher Zugang, hinter einem Passkey.
-
Website
igs.asafarim.site
Live
-
Breinhap
Kurze Lernmissionen für die Sekundarschule
Eine Lern-App für Schülerinnen und Schüler der Sekundarschule in Flandern, gestaltet mit Blick auf ADHS und AuDHS: Missionen von 2 bis 6 Minuten, immer in denselben vier Schritten.
-
Android-Vorstellung
breinhap.asafarim.site
Live
Was die App ist, auf Niederländisch und Englisch, mit ihren Datenschutzseiten.
-
Web-App
breinhap.com
In Entwicklung
Öffentliche Vorstellung und Anmelde- und Registrierungsseiten für Erwachsene; Missionen im Browser gibt es noch nicht.
-
Breinhap-Verwaltung
management.breinhap.com
Früher Zugang
Pilot auf Einladung für aktive ASafariM-Erwachsene mit ausdrücklichem Zugang zu Breinhap.
-
Android-App
Google Play
Im Test
In einem geschlossenen Test, bevor sie für alle öffnet.
-
Android-Vorstellung
breinhap.asafarim.site
Live
-
Observatory
Ihr Entwicklungsarbeitsbereich im Überblick
Gespeicherte Git-Beobachtungen, Repository-Änderungen und Verlauf erkunden. KI-Zusammenfassungen mit Quellenverweisen erklären die Kennzahlen. Jedes registrierte ASafariM-Konto kann lesen; genehmigte Administratoren können die Ansicht aktualisieren und Zusammenfassungen erstellen.
-
Web-App
observatory.asafarim.site
Live
Mit ASafariM anmelden. Lesezugriff ist enthalten; Administratorwerkzeuge benötigen eine Genehmigung.
-
Web-App
observatory.asafarim.site
Live
Ausgeliefert
Was bisher gebaut und zusammengeführt ist, Phase für Phase. Diese Liste ist ein Änderungsprotokoll des Codes und auf Englisch.
-
P0
Foundations
The workspace, CI and the self-describing app contract: an app's manifest, its validator and JSON Schema, and the platform CLI that compiles manifests and checks that the core never imports an app.
-
OS-D1
Local dev environment
One command starts the whole OS locally: Postgres, Redis, identity, core-api, a dev login stub with seeded users, and a dev gateway in front of every app.
-
P2
Identity
The OpenID Connect provider for id.asafarim.site, with sign-in delegated to Hub, plus its published container image and production deploy files.
-
P3
Control plane
core-api's registry, permission catalog and lifecycle; the app SDK and Notes, the first built-in app; the Admin console for apps, roles, grants and the audit log.
-
P4.1
Event bus and bus auth
NATS JetStream with CloudEvents, an outbox and relay, durable consumers with dedupe and dead letters, and per-app bus permissions checked by core-api when an app connects.
-
P4.2
Event catalog
Apps upload signed schemas for the events they publish, and the Admin console lists every event type with its publisher, subscribers and schema.
-
Remove
Remove an app
The last lifecycle step: an admin removes an app, its grants and bus resources are cleaned up, and it can be installed again from scratch.
Zusammengeführte Pull Requests: #69
-
P6.1
Health and status board
core-api checks every active app's live and ready endpoints from its manifest, and the Admin console shows them on one Status page.
Zusammengeführte Pull Requests: #84
-
Landing
This page is live
asafarim.site now serves the OS landing page from its own container, deployed on its own with one command and no identity. The placeholder page is gone.
-
P6.2
Traces, request metrics and trace-id logs
Every app's requests become OpenTelemetry traces and per-route rate, error and duration metrics, with only route patterns leaving the app, and its JSON log lines carry the trace id. One command starts a local collector.
Zusammengeführte Pull Requests: #96
-
External apps
Install an app from its image
An app built in another repository is installed from its container image: its manifest travels as an image label and is validated, and one command runs it locally or writes its production compose file.
-
Docs
A private documentation reader
docs.asafarim.site, the second built-in app: it renders documents from their source repository with contents and search, keeps study notes on a part of a document, and is open only to the people the OS grants it to.
Zusammengeführte Pull Requests: #85, #86, #88, #91, #92, #111
-
P6 part 2
Traces across apps
One request stays one trace through the gateway, core-api and the event bus, and every app flushes its traces and metrics when it stops.
Zusammengeführte Pull Requests: #112, #113, #114, #117, #125
-
Retention
Backup and purge
Removing an app first backs up its database. The database is dropped only after a retention window, and only if the backup is still there and unchanged. The CLI can remove, purge and list them.
-
P7.2
Manifest review
Every pull request gets an advisory check that compares an app's manifest with its code: unguarded routes, permissions never checked, and events without a schema or a handler, posted as one comment.
-
Sign-in
Email codes and passkeys
id.asafarim.site signs people in with a one-time email code or a passkey, built in the OS with no outside provider, and an admin approves new connections.
-
P7.4
Event search
The Admin console's event catalog answers questions like "which app emits something when an order ships?" by searching event types, apps and schema descriptions.
-
Database spans
Database time in every trace
Queries from core-api, Notes and Docs show up in their request's trace with the operation and the database name only, never the SQL text or its values.
-
Top bar
App switcher and account menu
Every OS app has the same top bar: a switcher to each app you can open, and an account menu with your name and Sign out.
Zusammengeführte Pull Requests: #152, #153, #155, #156, #157
-
Core in production
core-api and its own database
core-api runs in production next to the OS's own Postgres on a private network, started by the deploy only once its encrypted settings are committed. A failed image pull is retried before the deploy gives up.
-
Alerts
Down and recovered alerts
core-api can send one message to a chat webhook when an app goes down and one when it recovers. It keeps the history on the Status page, and remembers what it already reported across a restart.
Zusammengeführte Pull Requests: #150, #154, #158, #159, #160, #161, #163
-
P7.1
Scaffold a new app
One command writes a new app with its manifest, sign-in, the OS top bar, a permission-checked example route, health endpoints, telemetry and a test. It passes manifest review with no findings.
-
Admin live
Admin console in production
The Admin console runs at admin.asafarim.site: admins manage apps, roles, grants and the audit log there.
Zusammengeführte Pull Requests: #176
-
CLI
The OS from the command line
The platform CLI reads what the Admin console shows: the audit log, every app and its state, one app's permissions and roles, who holds which role, and the event catalog with its keyword search.
Zusammengeführte Pull Requests: #172, #177, #178, #179, #180, #181, #182
-
Retention part 2
Backups checked on demand
A removed app's backup can be verified at any time, from the command line or from the Admin console's Apps page, before its database is purged.
-
Look
One look for every app
One light and dark theme with a toggle in every header, data tables that fit a phone, a shared layout for the sign-in pages, and a link to the Admin console for admins.
Zusammengeführte Pull Requests: #202, #204, #205, #206, #207, #234
-
Sister sites
Breinhap and IGS-Pharma
The OS stack also serves the landing pages of two ventures built in their own repositories, breinhap.asafarim.site and igs.asafarim.site, linked from every OS navigation.
Zusammengeführte Pull Requests: #209, #210, #212, #219, #224, #228, #229
-
Legal
Privacy, cookies and terms
Privacy, cookie and terms pages linked from every OS footer, and a sitemap, share preview and structured data for this page.
-
Sign-in part 2
Continue with Google and access requests
id.asafarim.site adds Continue with Google next to email codes and passkeys, with redesigned sign-in pages. A new person asks for access to the apps they need, with a note, and an admin approves.
-
Audit centre
An audit centre
The Admin console shows sign-ins, access decisions and admin changes in one audit centre.
Zusammengeführte Pull Requests: #248
-
Flow
Flow, the workflow app
flow.asafarim.site, the third built-in app: workflows that run on events, with approval steps a person approves or rejects. Its first workflow has the Docs app draft a GitHub issue and creates it once someone approves.
Zusammengeführte Pull Requests: #249, #250, #251, #254, #255, #257, #258
-
Bus in production
The event bus in production
NATS joins the production stack, and core-api, Docs and Flow connect to it when it runs.
-
Sessions
One sign-out everywhere
An app's session ends when the identity session does, and signing out of an app also ends the id.asafarim.site session. A test fails if the two lifetimes drift apart.
-
P7.2 part 2
A deeper manifest review
Manifest review catches many more mismatches between an app's manifest and its code: secrets, config and permissions declared but never used or used but never declared; routes, health paths and launcher tiles nothing serves; events and schemas that don't line up; database gaps; and names or ports that clash. The CLI's README lists every finding, and a test keeps the list complete.
Zusammengeführte Pull Requests: #184, #188, #189, #190, #191, #192, #193, #196, #197, #198, #199, #200, #203, #208, #211, #213, #220, #221, #222, #223, #226, #227, #230, #231, #232, #236, #237, #238, #239, #241, #242, #244, #246, #247, #263, #264, #265
-
Flow slice 2
The workflow builder and connectors
Flow gets a visual builder, a new workflow format and the engine that runs it, webhook and GitHub event triggers, six outbound connectors, and an encrypted credential store behind an allow-list of the hosts it may reach.
Zusammengeführte Pull Requests: #267, #268, #269, #270, #271, #272
-
Switcher
A new app switcher
An icon-only app switcher in every app, one menu open at a time, and a launcher panel that a host page's styles can't break.
Zusammengeführte Pull Requests: #288, #289, #290, #291, #292, #303
-
Flow files and AI
Workflow files and drafts from issues
Workflows can be exported, printed and imported as files. Flow can also draft a workflow from a GitHub or GitLab issue with Claude: the draft never runs by itself, and every step that sends data out arrives unconfigured.
Zusammengeführte Pull Requests: #284, #285, #286, #294, #298, #299
-
Flow hardening
Flow, hardened
Pause all stops work already in flight and fails closed. The public webhook endpoint answers unknown and forged calls the same way and limits floods per source, and credentials stay bound to their settings.
Screenshots
Von Playwright in der End-to-End-Testumgebung aufgenommen, nicht von Hand gezeichnet.
Roadmap
-
P4
Events, fertig
Eine schreibgeschützte Live-Demo von core-api, Admin und Notes, sowie TLS und Operator-Modus für den Event-Bus, jetzt, wo er in Produktion läuft.
-
P6
Beobachtbarkeit
Metriken, Traces und Logs an einem Ort mit Dashboards, Alarmen auf Traces und Metriken und einer öffentlichen Statusübersicht.
-
P7
KI-Unterstützung
KI-Hilfe, wo Textvergleich nicht weit genug sieht: das Manifest einer neuen App entwerfen, eine gründlichere Manifest-Prüfung, semantische Suche in Events und ein schreibgeschützter Copilot in der Admin-Konsole.
-
Flow slice 3
Geplante Workflows
Workflows, die nach Zeitplan starten, und neue Workflows, die zuerst als Probelauf laufen.