Cos’è OpenPlatform: un portale per tutte le tue applicazioni web
OpenPlatform è un portale pronto all’uso per le tue applicazioni web. Le tue persone accedono una volta, vedono le applicazioni che possono usare e le aprono da un unico posto; gli amministratori gestiscono utenti, gruppi, permessi e notifiche da una sola schermata. È open source con licenza MIT, scritto con Total.js 5 e PostgreSQL, e l’applicazione è il repository totaljs/openplatform (versione 5).
Questa sezione descrive OpenPlatform (revisione 5a54a85 del repository).
Cosa ti offre
- Un solo accesso per molte applicazioni. Un’applicazione può essere una delle tue app Total.js o qualsiasi applicazione web: OpenPlatform la apre con un token firmato e l’applicazione chiede a OpenPlatform chi è l’utente (vedi come si connette un’app).
- Utenti, gruppi e permessi. Un utente appartiene a dei gruppi; un gruppo decide quali applicazioni vede l’utente e quali valori di permesso riceve ogni applicazione (vedi gruppi e permessi).
- Notifiche. Le applicazioni inviano notifiche ai propri utenti tramite un piccolo endpoint HTTP; il portale le mostra e può inviare via e-mail un riepilogo di quelle non lette (vedi notifiche e API pubblica).
- Sessioni che l’utente controlla. Ogni utente può vedere e rimuovere le proprie sessioni e cambiare la propria password.
- Una schermata di configurazione per gli amministratori (
/setup/): utenti, gruppi, applicazioni, impostazioni, feedback e una dashboard con i visitatori.
Come è organizzato il progetto
OpenPlatform è un’applicazione Total.js con tre plugin e alcuni controller:
| Parte | Cosa fa | Sorgente |
|---|---|---|
plugin login | la pagina di accesso, POST /api/login/ e POST /api/reset/ | plugins/login/ |
plugin portal | il portale per gli utenti con accesso (GET /*) | plugins/portal/ |
plugin setup | la schermata di amministrazione e la sua API sotto /setup/ | plugins/setup/ |
| API dell’account | azioni di /api/ per la sessione, l’account, le app, le notifiche e le sessioni dell’utente | controllers/api.js, schemas/account.js |
| protocollo delle app | GET /verify/, POST /notify/, GET /session/ per le applicazioni | controllers/verify.js |
| API pubblica | GET /users/, caricamento di immagini e il SOCKET /sync/ di più istanze | controllers/api.js, controllers/socket.js |
Il resto della sezione: installarlo, registrare un’applicazione, impostazioni e database. La documentazione ufficiale è su docs.totaljs.com/openplatform e il client nativo che Total.js 5 include per il protocollo Open Platform è nella ricetta OPENCLIENT.