Qué es OpenPlatform: un portal para todas tus aplicaciones web
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 (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).
- 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).
- 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).
- 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, registrar una aplicación, ajustes y base de datos. La documentación oficial está en docs.totaljs.com/openplatform, y el cliente nativo que incluye Total.js 5 para el protocolo de Open Platform está en la receta OPENCLIENT.