# Cos’è OpenPlatform: un portale per tutte le tue applicazioni web

> OpenPlatform è il portale aziendale di Total.js che esegue, integra e gestisce più applicazioni web dietro un unico accesso, con utenti, gruppi, permessi e notifiche.

Framework: openplatform
Product: OpenPlatform (openplatform@5)
Language: it
Content-SHA256: 1bc9080faee763dc2681eaad8c99d7960272bf16271d5f5593b6b7170cc15140
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

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](https://github.com/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](/en/openplatform/how-an-app-connects/)).
- **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](/en/openplatform/groups-and-permissions/)).
- **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](/en/openplatform/notifications-and-public-api/)).
- **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](/en/openplatform/install-openplatform/), [registrare un’applicazione](/en/openplatform/register-an-app/), [impostazioni e database](/en/openplatform/settings-and-database/). La documentazione ufficiale è su [docs.totaljs.com/openplatform](https://docs.totaljs.com/openplatform/) e il client nativo che Total.js 5 include per il protocollo Open Platform è nella ricetta [OPENCLIENT](/en/total5/openclient-protocol/).
