# Qué es OpenPlatform: un portal para todas tus aplicaciones web

> OpenPlatform es el portal empresarial de Total.js que ejecuta, integra y gestiona varias aplicaciones web con un único inicio de sesión, con usuarios, grupos, permisos y notificaciones.

Framework: openplatform
Product: OpenPlatform (openplatform@5)
Language: es
Content-SHA256: 53eba37c970a8c57c011b57eadf43499104b6ff540dff1892cdcfda492597c0f
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

OpenPlatform es un **portal para tus aplicaciones web** listo para ejecutar. Tu gente inicia sesión una vez, ve las aplicaciones que puede usar y las abre desde un único lugar; los administradores gestionan usuarios, grupos, permisos y notificaciones desde una sola pantalla. Es de código abierto con **licencia MIT**, está escrito con Total.js 5 y PostgreSQL, y la aplicación es el repositorio [totaljs/openplatform](https://github.com/totaljs/openplatform) (versión 5).

Esta sección describe OpenPlatform (revisión `5a54a85` del repositorio).

## Lo que te da

- **Un único inicio de sesión para muchas aplicaciones.** Una aplicación puede ser una de tus apps Total.js o cualquier aplicación web: OpenPlatform la abre con un token firmado y la aplicación pregunta a OpenPlatform quién es el usuario (consulta [cómo se conecta una app](/en/openplatform/how-an-app-connects/)).
- **Usuarios, grupos y permisos.** Un usuario pertenece a grupos; un grupo decide qué aplicaciones ve el usuario y qué valores de permiso recibe cada aplicación (consulta [grupos y permisos](/en/openplatform/groups-and-permissions/)).
- **Notificaciones.** Las aplicaciones envían notificaciones a sus usuarios mediante un pequeño endpoint HTTP; el portal las muestra y puede enviar por correo un resumen de las no leídas (consulta [notificaciones y API pública](/en/openplatform/notifications-and-public-api/)).
- **Sesiones que controla el usuario.** Cada usuario puede ver y eliminar sus propias sesiones y cambiar su contraseña.
- **Una pantalla de configuración** para los administradores (`/setup/`): usuarios, grupos, aplicaciones, ajustes, comentarios y un panel con los visitantes.

## Cómo está organizado el proyecto

OpenPlatform es una aplicación Total.js con tres plugins y unos pocos controladores:

| Parte | Qué hace | Código |
|---|---|---|
| plugin `login` | la página de acceso, `POST /api/login/` y `POST /api/reset/` | `plugins/login/` |
| plugin `portal` | el portal para usuarios con sesión (`GET /*`) | `plugins/portal/` |
| plugin `setup` | la pantalla de administración y su API bajo `/setup/` | `plugins/setup/` |
| API de la cuenta | acciones de `/api/` para la sesión, la cuenta, las apps, las notificaciones y las sesiones del usuario | `controllers/api.js`, `schemas/account.js` |
| protocolo de las apps | `GET /verify/`, `POST /notify/`, `GET /session/` para las aplicaciones | `controllers/verify.js` |
| API pública | `GET /users/`, subida de imágenes y el `SOCKET /sync/` de varias instancias | `controllers/api.js`, `controllers/socket.js` |

El resto de la sección: [instalarlo](/en/openplatform/install-openplatform/), [registrar una aplicación](/en/openplatform/register-an-app/), [ajustes y base de datos](/en/openplatform/settings-and-database/). La documentación oficial está en [docs.totaljs.com/openplatform](https://docs.totaljs.com/openplatform/), y el cliente nativo que incluye Total.js 5 para el protocolo de Open Platform está en la receta [OPENCLIENT](/en/total5/openclient-protocol/).
