# O que é o OpenPlatform: um portal para todas as suas aplicações web

> O OpenPlatform é o portal empresarial do Total.js que executa, integra e gere várias aplicações web atrás de um único início de sessão, com utilizadores, grupos, permissões e notificações.

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

O OpenPlatform é um **portal pronto a usar para as suas aplicações web**. As suas pessoas iniciam sessão uma vez, veem as aplicações que podem usar e abrem-nas a partir de um único sítio; os administradores gerem utilizadores, grupos, permissões e notificações a partir de um único ecrã. É de código aberto com **licença MIT**, escrito com Total.js 5 e PostgreSQL, e a aplicação é o repositório [totaljs/openplatform](https://github.com/totaljs/openplatform) (versão 5).

Esta secção descreve o OpenPlatform (revisão `5a54a85` do repositório).

## O que lhe dá

- **Um único início de sessão para muitas aplicações.** Uma aplicação pode ser uma das suas apps Total.js ou qualquer aplicação web: o OpenPlatform abre-a com um token assinado e a aplicação pergunta ao OpenPlatform quem é o utilizador (veja [como uma app se liga](/en/openplatform/how-an-app-connects/)).
- **Utilizadores, grupos e permissões.** Um utilizador pertence a grupos; um grupo decide que aplicações o utilizador vê e que valores de permissão cada aplicação recebe (veja [grupos e permissões](/en/openplatform/groups-and-permissions/)).
- **Notificações.** As aplicações enviam notificações aos seus utilizadores através de um pequeno endpoint HTTP; o portal mostra-as e pode enviar por e-mail um resumo das não lidas (veja [notificações e API pública](/en/openplatform/notifications-and-public-api/)).
- **Sessões que o utilizador controla.** Cada utilizador pode ver e remover as suas próprias sessões e mudar a sua palavra-passe.
- **Um ecrã de configuração** para os administradores (`/setup/`): utilizadores, grupos, aplicações, definições, comentários e um painel com os visitantes.

## Como o projeto está organizado

O OpenPlatform é uma aplicação Total.js com três plugins e alguns controladores:

| Parte | O que faz | Código |
|---|---|---|
| plugin `login` | a página de acesso, `POST /api/login/` e `POST /api/reset/` | `plugins/login/` |
| plugin `portal` | o portal para utilizadores com sessão iniciada (`GET /*`) | `plugins/portal/` |
| plugin `setup` | o ecrã de administração e a sua API em `/setup/` | `plugins/setup/` |
| API da conta | ações de `/api/` para a sessão, a conta, as apps, as notificações e as sessões do utilizador | `controllers/api.js`, `schemas/account.js` |
| protocolo das apps | `GET /verify/`, `POST /notify/`, `GET /session/` para as aplicações | `controllers/verify.js` |
| API pública | `GET /users/`, carregamentos de imagens e o `SOCKET /sync/` de várias instâncias | `controllers/api.js`, `controllers/socket.js` |

O resto da secção: [instalá-lo](/en/openplatform/install-openplatform/), [registar uma aplicação](/en/openplatform/register-an-app/), [definições e base de dados](/en/openplatform/settings-and-database/). A documentação oficial está em [docs.totaljs.com/openplatform](https://docs.totaljs.com/openplatform/), e o cliente nativo que o Total.js 5 inclui para o protocolo Open Platform está na receita [OPENCLIENT](/en/total5/openclient-protocol/).
