Oddělení uživatelé per aplikace
Každá aplikace má vlastní user pool — vlastní účty, registraci i přihlášení. Aplikace sdílejí uživatele jen tam, kde je to výslovně nastavené.
User pooly
User pooly · Oprávnění · Role · Profily · Notifikace · Brandy

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:
| Oblast | Popis |
|---|---|
| User pooly | Které 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 |
| Profily | Profil účtu, locale, theme, per-app preference |
| Notifikace | Email + Web Push, šablony, per-type preference, audit log |
| Aplikace | Registr 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).
┌──────────────────────┐ ┌──────────────────────┐
│ 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 │
└─────────────────────────────────────────────────┘| Technologie | Verze | Účel |
|---|---|---|
| Node.js | 20 (Alpine) | Runtime |
| TypeScript | 5.7 | Jazyk |
| Express | 4.21 | HTTP server |
| TypeORM | 0.3 | ORM pro PostgreSQL |
| PostgreSQL | 16 | Databáze |
| Zitadel | latest | OIDC provider |
| swagger-jsdoc + swagger-ui-express | 6 + 5 | API dokumentace |
| winston | 3 | Strukturované logování |
| LRU Cache | 11 | Cache oprávnění (TTL 30 s) |
| nodemailer | 8 | SMTP email + DKIM |
| web-push | 3.6 | Web Push notifikace |