A production-ready notification microservice you deploy, not integrate.
REST API in, WebSocket notifications out — with persistent queuing, an admin GUI, and zero client-side
library requirements.
Deploy one JAR, get a fully operational notification backend with auth, persistence, delivery tracking, and a built-in admin panel.
Send notifications to users, topics, or broadcast — via POST /api/notifications/*. Secure with
JWT or API key. No SDK required on the caller side.
Notifications for offline users are stored in queued_notifications
and flushed on reconnect. Topic subscriptions and audit logs survive restarts.
Admin access via short-lived JWTs with rotating refresh tokens. Machine-to-machine via X-API-Key. End-users authenticate
WebSocket connections with per-user tokens.
Online users receive notifications instantly. ACK-based delivery tracking with automatic retries. Heartbeat ping/pong keeps connections alive and stale ones are cleaned up.
Built-in admin panel at /admin.html —
no extra deployment. Full Vue 3 dashboard available separately with user management, topic management,
API key admin, and a live WebSocket test client.
Interactive API explorer at /swagger-ui/index.html.
Every notification send, ACK, and retry failure is recorded in the notification_audit table.
Your backend calls the API. NotiFlow handles routing, queuing, retry, and delivery.
Choose the setup method that works for you — the install script handles everything automatically, or bring your own Docker Compose.
One command pulls and starts PostgreSQL, the NotiFlow app, and the admin dashboard — no manual configuration required.
curl -fsSL https://app.notiflow.pl/install | bash
Open the admin dashboard at http://localhost:3080.
On first launch you'll be prompted to set a password for the admin account.
In the dashboard, create a user to get their WebSocket token (nfu_…), then generate an API key (nf_…) for any backend service that will send notifications.
Use the dashboard's live WebSocket test client to connect as a user, send a notification, and confirm delivery end-to-end — no code required.
Check the full documentation for the complete REST API reference, database schema, configuration options, and Docker deployment guide.