Skip to content

Jabcore PlatformIdentita, oprávnění a notifikace pro aplikace Jabcore

User pooly · Oprávnění · Role · Profily · Notifikace · Brandy

Jabcore

Co je Jabcore Platform? ​

Jabcore Platform je společný základ všech aplikací Jabcore — SaaS produktů, zakázkových i interních aplikací. Aplikace neřeší přihlášení, uživatele, oprávnění ani notifikace samy; napojí se na platformu:

OblastPopis
User poolyKteré aplikace sdílejí účty. Standardně má každá aplikace vlastní pool.
UživateléRegistr účtů (pool + e-mail), aktivace/deaktivace, superadmini, app admini
OprávněníBinární a víceúrovňová oprávnění, hierarchie rolí, resource-level overrides
ProfilyProfil účtu, locale, theme, per-app preference
NotifikaceEmail + Web Push, šablony, per-type preference, audit log
AplikaceRegistr aplikací, instance, OIDC klienti synchronizovaní se Zitadelem

Platformu tvoří tři repozitáře: jabcore-platform-api (tento backend), jabcore-platform-auth (přihlašovací stránky) a jabcore-platform-admin (administrační panel).

Jak to funguje? ​

┌──────────────────────┐   ┌──────────────────────┐
│ Aplikace A (pool A)  │   │ Aplikace B (pool B)  │   … každá s vlastními účty
└──────────┬───────────┘   └──────────┬───────────┘
           │ OIDC                     │ OIDC
┌──────────▼──────────────────────────▼───────────┐
│ Jabcore login (Zitadel Login v2)                 │
│ účty hledá, registruje a pustí jen z poolu appky │
└──────────┬──────────────────────────────────────┘
           │ JWT (účet = pool + e-mail)
┌──────────▼──────────────────────────────────────┐
│ Jabcore Platform API                             │
│ User pooly · Oprávnění · Role · Profily · Notif. │
└──────────┬──────────────────────────────────────┘
           │
┌──────────▼──────────────────────────────────────┐
│ PostgreSQL 16                                    │
└─────────────────────────────────────────────────┘

Rychlé odkazy ​

Přehled technologií ​

TechnologieVerzeÚčel
Node.js20 (Alpine)Runtime
TypeScript5.7Jazyk
Express4.21HTTP server
TypeORM0.3ORM pro PostgreSQL
PostgreSQL16Databáze
ZitadellatestOIDC provider
swagger-jsdoc + swagger-ui-express6 + 5API dokumentace
winston3Strukturované logování
LRU Cache11Cache oprávnění (TTL 30 s)
nodemailer8SMTP email + DKIM
web-push3.6Web Push notifikace

Jabcore Platform — interní dokumentace