# Wat OpenPlatform is: één portaal voor al je webtoepassingen

> OpenPlatform is het Total.js-bedrijfsportaal dat meerdere webtoepassingen achter één aanmelding uitvoert, integreert en beheert, met gebruikers, groepen, rechten en meldingen.

Framework: openplatform
Product: OpenPlatform (openplatform@5)
Language: nl
Content-SHA256: ba1b50dd9eb64a41d1f7e53f793d67007d6a5ec3b9320213a423918d091fe9c5
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

OpenPlatform is een kant-en-klaar **portaal voor je webtoepassingen**. Je mensen melden zich één keer aan, zien de toepassingen die ze mogen gebruiken en openen ze vanaf één plek; de beheerders beheren gebruikers, groepen, rechten en meldingen vanuit één scherm. Het is open source onder de **MIT-licentie**, geschreven met Total.js 5 en PostgreSQL, en de toepassing is de repository [totaljs/openplatform](https://github.com/totaljs/openplatform) (versie 5).

Deze sectie beschrijft OpenPlatform (revisie `5a54a85` van de repository).

## Wat het je geeft

- **Eén aanmelding voor veel toepassingen.** Een toepassing kan een van je eigen Total.js-apps zijn of elke webtoepassing: OpenPlatform opent haar met een ondertekend token en de toepassing vraagt OpenPlatform wie de gebruiker is (zie [hoe een app verbinding maakt](/en/openplatform/how-an-app-connects/)).
- **Gebruikers, groepen en rechten.** Een gebruiker hoort bij groepen; een groep bepaalt welke toepassingen de gebruiker ziet en welke rechtenwaarden elke toepassing ontvangt (zie [groepen en rechten](/en/openplatform/groups-and-permissions/)).
- **Meldingen.** Toepassingen sturen meldingen naar hun gebruikers via een klein HTTP-endpoint; het portaal toont ze en kan een samenvatting van de ongelezen per e-mail sturen (zie [meldingen en de openbare API](/en/openplatform/notifications-and-public-api/)).
- **Sessies die de gebruiker beheert.** Elke gebruiker kan zijn eigen sessies zien en verwijderen en zijn wachtwoord wijzigen.
- **Een instellingenscherm** voor de beheerders (`/setup/`): gebruikers, groepen, toepassingen, instellingen, feedback en een dashboard met de bezoekers.

## Hoe het project is georganiseerd

OpenPlatform is een Total.js-toepassing met drie plugins en een paar controllers:

| Onderdeel | Wat het doet | Bron |
|---|---|---|
| plugin `login` | de aanmeldpagina, `POST /api/login/` en `POST /api/reset/` | `plugins/login/` |
| plugin `portal` | het portaal voor aangemelde gebruikers (`GET /*`) | `plugins/portal/` |
| plugin `setup` | het beheerscherm en zijn API onder `/setup/` | `plugins/setup/` |
| account-API | `/api/`-acties voor de sessie, het account, de apps, de meldingen en de sessies van de gebruiker | `controllers/api.js`, `schemas/account.js` |
| app-protocol | `GET /verify/`, `POST /notify/`, `GET /session/` voor de toepassingen | `controllers/verify.js` |
| openbare API | `GET /users/`, uploads van afbeeldingen en de `SOCKET /sync/` van meerdere instanties | `controllers/api.js`, `controllers/socket.js` |

De rest van het onderdeel: [installeren](/en/openplatform/install-openplatform/), [een toepassing registreren](/en/openplatform/register-an-app/), [instellingen en database](/en/openplatform/settings-and-database/). De officiële documentatie staat op [docs.totaljs.com/openplatform](https://docs.totaljs.com/openplatform/), en de native client die Total.js 5 meelevert voor het Open Platform-protocol staat in het recept [OPENCLIENT](/en/total5/openclient-protocol/).
