# Какво е OpenPlatform: един портал за всичките ви уеб приложения

> OpenPlatform е корпоративният портал на Total.js, който изпълнява, интегрира и управлява няколко уеб приложения зад един вход, с потребители, групи, права и известия.

Framework: openplatform
Product: OpenPlatform (openplatform@5)
Language: bg
Content-SHA256: 3debe1a1d1a2b1f7b3c31ff9c36068fb715a23bb3a1237372b4a731d59e9c740
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

OpenPlatform е готов за стартиране **портал за вашите уеб приложения**. Хората ви влизат веднъж, виждат приложенията, които могат да ползват, и ги отварят от едно място; администраторите управляват потребители, групи, права и известия от един екран. Той е с отворен код под **лиценз MIT**, написан с Total.js 5 и PostgreSQL, а приложението е хранилището [totaljs/openplatform](https://github.com/totaljs/openplatform) (версия 5).

Този раздел описва OpenPlatform (ревизия `5a54a85` на хранилището).

## Какво ви дава

- **Един вход за много приложения.** Приложението може да е едно от вашите приложения на Total.js или всяко уеб приложение: OpenPlatform го отваря с подписан токен, а приложението пита OpenPlatform кой е потребителят (вижте [как се свързва едно приложение](/en/openplatform/how-an-app-connects/)).
- **Потребители, групи и права.** Потребителят принадлежи към групи; групата решава кои приложения вижда потребителят и какви стойности на права получава всяко приложение (вижте [групи и права](/en/openplatform/groups-and-permissions/)).
- **Известия.** Приложенията изпращат известия до потребителите си през малка HTTP крайна точка; порталът ги показва и може да изпрати по имейл обобщение на непрочетените (вижте [известия и публичното API](/en/openplatform/notifications-and-public-api/)).
- **Сесии, които потребителят контролира.** Всеки потребител може да вижда и премахва собствените си сесии и да променя паролата си.
- **Екран за настройка** за администраторите (`/setup/`): потребители, групи, приложения, настройки, обратна връзка и табло с посетителите.

## Как е организиран проектът

OpenPlatform е приложение на Total.js с три добавки и няколко контролера:

| Част | Какво прави | Източник |
|---|---|---|
| добавка `login` | страницата за вход, `POST /api/login/` и `POST /api/reset/` | `plugins/login/` |
| добавка `portal` | порталът за влезли потребители (`GET /*`) | `plugins/portal/` |
| добавка `setup` | екранът за администриране и неговото API под `/setup/` | `plugins/setup/` |
| API на акаунта | действия на `/api/` за сесията, акаунта, приложенията, известията и сесиите на потребителя | `controllers/api.js`, `schemas/account.js` |
| протокол на приложенията | `GET /verify/`, `POST /notify/`, `GET /session/` за приложенията | `controllers/verify.js` |
| публично API | `GET /users/`, качване на изображения и `SOCKET /sync/` на няколко инстанции | `controllers/api.js`, `controllers/socket.js` |

Останалата част от раздела: [инсталиране](/en/openplatform/install-openplatform/), [регистриране на приложение](/en/openplatform/register-an-app/), [настройки и база данни](/en/openplatform/settings-and-database/). Официалната документация е на [docs.totaljs.com/openplatform](https://docs.totaljs.com/openplatform/), а вграденият клиент, който Total.js 5 включва за протокола Open Platform, е в рецептата [OPENCLIENT](/en/total5/openclient-protocol/).
