portal-backend ist der zentrale Backend-Mikrodienst für NRW.Desk, ein Kollaborationsportal, das vom Information und Technik Nordrhein-Westfalen (IT.NRW) für den deutschen Bundesland Nordrhein-Westfalen entwickelt wurde. Es dient als Persistenz- und API-Schicht, die die personalisierten Benutzerdaten für das Frontend-Dashboard des Portals verwaltet. Der Dienst stellt eine RESTful HTTP-API (OpenAPI 3.0.3) bereit, die Benutzern die Verwaltung ihrer personalisierten Dashboard-Oberfläche ermöglicht, einschließlich Widget-Layout, Sichtbarkeit und Anzeigereihenfolge. Bei der ersten authentifizierten Anfrage wird jeder Benutzer automatisch mit Standardeinstellungen und einer Reihe vorkonfigurierter Widgets, die in einem Rasterlayout angeordnet sind, bereitgestellt. Unterstützte Widget-Typen umfassen E-Mail, Videokonferenz, Chat, Kalender, Dokumente, Dateien, Diagramme, Web-Shortcuts, bevorstehende Konferenzen und Nachrichten. Jedes Widget kann individuell positioniert (x-, y-Koordinaten), in der Größe angepasst (Breite, Höhe), in der Reihenfolge geändert und ein- oder ausgeblendet werden. Benutzer können auch die Akkordeon-Zustände für die Seitenleiste verwalten. Administratoren können systemweite Ankündigungen erstellen, aktualisieren und löschen, die allen Portalbenutzern angezeigt werden. Diese Benachrichtigungen sind zeitlich begrenzt (mit einem Start- und Enddatum) und stehen in drei Typen zur Verfügung: info, warn und feat (Feature-Ankündigungen). Benachrichtigungen werden bei der Ausgabe an Endbenutzer automatisch nach der zeitlichen Gültigkeit gefiltert. Die Authentifizierung erfolgt über JWT-Bearer-Tokens, wobei der Dienst die Benutzeridentität und Rollen aus konfigurierbaren JWT-Claims extrahiert. Das Autorisierungsmodell stellt sicher, dass Benutzer nur auf ihre eigenen Daten zugreifen und diese ändern können, während Admin-Endpunkte die admin-Rolle erfordern. Der Dienst wurde mit Go 1.25+ entwickelt, verwendet GORM als ORM und unterstützt sowohl SQLite (Standard für die lokale Entwicklung) als auch PostgreSQL (Produktion). Er bietet strukturierte Protokollierung über Zerolog, ein optionales Swagger UI für die API-Dokumentation, konfigurierbares CORS und automatische Datenbankmigrationen beim Start.
Software-Details
10.06.26
13.10.26
beta
0.4.4
BSD-3-Clause
Jetzt Nutzung sichtbar machen!
Letzte Aktualisierung: