📘 Справка по платформе

Введение.

Nice Platform создан в помощь лидершипу корпораций для развертывания корпоративного портала.
Если у корпорации нет своего IT-специалиста для создания и поддержания IT ресурсов,
с помощью платформы обычный юзер может вполне самостоятельно развернуть портал.
Для настройки портала желателен персонаж с ролями минимум director, но можно и обычному мемберу настроить , но придётся дергать постоянно директора или СЕО корпорации.

1. Вход и регистрация

1. Вход и регистрация

Перейдите на главную страницу, нажмите «Войти» или «Зарегистрироваться». После регистрации вы попадёте в личную панель управления.

2. Создание проекта

2. Создание проекта

  1. На главной странице нажмите «Выберите поддомен»
  2. Введите желаемое имя поддомена (например: mysite), обычно это ingame-тикер корпорации.
  3. Система проверит его доступность
  4. Нажмите «Развернуть портал»
3. Запуск развёртывания

4. Запуск развёртывания

После нажатия «Развернуть портал»: - Проект клонируется с GitHub - Создаётся виртуальное окружение - Устанавливаются зависимости - Выполняются миграции - Собирается статика - Запускается Gunicorn + Nginx

4. Управление проектами

5. Управление проектами

После развёртывания вы увидите карточки всех ваших проектов. Вы можете:
Посетить сайт — кнопка 🔗
Показать пароль админа — нажмите «Показать»
Проверить - на наличие новой версии 🔄.
Удалить — кнопка 🗑️ (подтверждение обязательно)

5. Безопасность

6. Безопасность

  • Все пароли хранятся в зашифрованном виде
  • Доступ к переменным окружения — только у владельца
  • Автоматическое создание сложных паролей для админки

6. Модульность
  • В основе портала лежит принцип модульности, т.е. в ядре портала реализованы только разделение доступов на основе прав групп(Group) и состояний(State).
  • Все остальные возможности выполнены в виде модулей. Возможно не всем корпорациям нужен полный функционал портала, оператор может включать и отключать модули, но возможность включения всех модулей не ограничена.
Поддержка

📩 Поддержка

Возникли проблемы? Напишите нам: support@niceplatform.ru

Группы и Состояния
  • И так, вы запустили портал и настроили все необходимые токены и модули.
  • Первое, что Вам надо сделать, это зарегистрировать любого персонажа Вашей корпорации через главную страницу Вашего нового портала
    https://abc.niceplatform.ru
    (вместо символов abc должен быть суб-домен)
    После регистрации персонажа, на портал будет подгружена информация из EVE Online о Вашем персонаже и корпорации.
  • Вся механика портала построена на предоставление доступов к состояниям(States) и/или группам(Group).
  • Как писалось выше, портал состоит из модулей и оператор/администратор настраивает доступ к модулям посредством изменения прав у States и/или Group.
  • Разница между States и Group лишь в том, что States являются автоматическое назначение доступов, а в Group нужно юзерам самим подавать заявку. Заявки одобряются лидерами Group.
  • Настройка States и Group производится только из админки портала. (ссылка на админку в карточке портала, как и логин с паролем)
  • Из админки можно попасть на портал путем нажатия на ссылку
    admin_to_portal
    Что-бы постоянно не перелогиниваться со своего персонажа на администратора, переходим на портал из админки и проходим регистрацию своего персонажа, после этого юзеру с этим персонажем присваивается статус суперпользователь. Так-же со статусом суперпользователь можно попасть в админку прямо из портала, ссылка в верхнем выпадающем меню. Статус суперпользователь можно предоставить любому юзеру, например директору или другому доверенному, статус настраивается из админки портала. Следует с осторожностью относиться к выдаче суперпользователя, такой статус получает полный доступ к порталу, но не к профилю на платформе.
  • При первом логине нового персонажа, если он не подпадает под условия States, персонаж попадает в Guest, данный States устанавливается по умолчанию. На Guest тоже можно навесить доступы, но не рекомендуется.
Запуск модулей
  • В развернутом портале есть несколько встроенных модулей.
  • На данный момент присутствуют такие встроенные модули как:
  • Discord - модуль для регистрации мемберов корпорации на корпоративном сервере discord.(В связи с проблемами подключения к Discord в России, целесообразность активации данного модуля спорно.)
  • Structures - модуль для отслеживания состояния структур корпорации(пока в разработке).
  • Killboard_statistic - модуль для поиска слитых шипов, работает с любым именем(альянс/корпорация/персонаж),
    можно отследить по ссылке релейта с zKill или по списку систем в период от 1 часа до 7 суток.
    (специфичный модуль, но может кому пригодится)
Discord
  • Для настройки модуля Discord потребуется чуть больше усилий, чем настройка SSO.
  • Во-первых, нужно включить сам модуль:
    • Снова открываем панель управления и находим в карточке с порталом кнопку Edite Environment.
    • Создаём два поля и вносим туда ключ-значение.
КЛЮЧ ЗНАЧЕНИЕ
ENABLE_DISCORD True
ENABLE_DISCORD_SYNC True
  1. Далее немного картинок.
    • Создаём свой сервер дискорд и копируем ID сервера в блокнот.
    • Создаём Application.
      create_discord_bot
    • В выпадающем окне вписываем имя бота, которое мы хотим видеть у себя в дискорде.(Все имена пишутся латиницей, такова структура дискорда.)
    • Попадаем на страницу с инфо о боте. Оставляем всё как есть и тычем в Installation.
      general_bot_discord
    • В следующем окне снимаем галку с User Install , тычем в OAuth2.
      installation_bot_discord
    • Попадаем в окно.
      oauth_bot_discord
    • В этом окне копируем данные из строки Client ID к себе, например в блокнот, далее из строки Client Secret копируем к себе в блокнот.(Если не видите значение, то сгенерируйте новый Client Secret(там есть кнопка генерации) и скопируйте в блокнот)
      В строку Redirects Вам нужно вписать такое значение
      https://abc.niceplatform.ru/discord/add_dis естественно Вам нужно поменять символы abc на свой под-домен портала.
    • Крутим окно ниже.
      permission_bot_discord
      Ставим галку на bot.
    • Крутим ещё ниже, тут добавляем разрешения боту, что бы не париться с доступами, ставьте админа.
      permission_bot_discord
    • В самом низу окна появиться ссылка
      url_bot_discord
      Копируем эту ссылку и в новом окне браузера вставляем её в адресную строку, переходим по ней,таким образом мы пригласим своего бота на свой же сервер дискорд.
    • Далее идём сюда.
      bot_bot_discord
      Тут смотрим токен, если его нет, то генерируем и сохраняем в блокнот.
    • Листаем ниже и включаем эти галки.
      bot_bot_discord_2
    • Возвращаемся к карточке развёрнутого портала нажимаем Edite Environment , создаём несколько полей и вставляем туда ключи-значения.
КЛЮЧ ЗНАЧЕНИЕ
DISCORD_APPLICATION_ID ID Вашего бота
DISCORD_CLIENT_SECRET Client Secret Вашего бота
DISCORD_REDIRECT_URI https://abc.niceplatform.ru/discord/add_dis, обратный адрес для Вашего бота(abc меняем на Ваш суб-домен)
DISCORD_API_ENDPOINT https://discord.com/api/v10 (копируем именно это значение и вставляем поле)
DISCORD_GUILD_ID ID Вашего Discord сервера
DISCORD_BOT_TOKEN Токен Вашего бота
  • Сохраняем таблицу.
Мониторинг
Настройки проекта
  • Для полноценного запуска портала потребуется несколько шагов, т.к. получение токенов у EVE, Discord и т.п. приложений, требуются некоторые телодвижения, которые ну никак не автоматизировать.
1. Настройка EVE SSO доступа.
  • 1а. Находим у себя самый не нужный аккаунт EVE, новый аккаунт создать можно, но при создании Application, ССР потребует активный аккаунт,
    active_acc
    с которого хоть раз активировали подписку.
    Что-бы позеленела нижняя строчка, нужно по ней кликнуть и принять соглашение.
    (т.к. портал нужен для директоров или сео корпорации, с этим проблем возникнуть не должно).
    Важно не забыть на каком аккаунте у Вас создан Application и постараться не менять пароль от акка, иначе система ССР может аннулировать токен и придётся его менять на портале в env файле.
  • 1b. Идём по ссылке developers.eveonline.com, логинимся под аккаунтом, который нашли или создали.
  • 1c. Переходим в раздел Applications => My Applications => Create Application Create App
  • 1d. Попадаем сюда Сюда
    (убедитесь что вы вошли под каким нужно EVE аккаунтом) и далее по пунктам:
    • Поле Name - поле для имени вашего app, может быть любым именем, но на латинице.Важно что-бы Вы различали свои apps, вдруг Вам потребуется несколько apps.
    • Поле Description - поле для описания app, поле обязательное к заполнению, можете написать то-же имя, что и написали выше.
    • Поле Callback URL - поле для ввода обратного запроса от SSO.
      ВАЖНО в это поле вводим ручками обратный адрес вида:
      https://abc.niceplatform.ru/sso/callback
      символы abc поменяйте на придуманный Вами суб-домен при развертывании портала.Или скопируйте ссылку из текста, вставьте в поле и замените символы на имя суб-домена.
    • Поле Enablied Scopes - пункты для запроса списка доступов у мемберов , которые будут регистрироваться на портале.К персонажу, на котором создаётся этот app, никакого отношения эти доступы иметь не будут. Это шаблон доступов.
      На данном этапе настройки портала Вам потребуются указать запросы к Public Data и esi-characters.read_corporation_roles.v1. Запрос к Public Data, это то же самое, если ин-гейм посмотреть инфо у любого персонажа в игре. Запрос к esi-characters.read_corporation_roles.v1 требуется порталу, что-бы раскидывать автоматически роли в дискорде. У Вас должно получится вот это, естественно с Вашими правками суб-домена.
    • created
    • Кнопка Save - что бы сохранить, всё что Вы тут на вояли.
    • После сохранения у вас должно получится вот такого вида окно.
      app
      Окно пока скрываем, что-бы не мешалось.
2. Внесение данных из SSO в .env файл.
  • 2a. Идем в свою панель управления
  • 2b. Ищем карточку с порталом, который настраиваем и нажимаем кнопку Edite Environment
    edite_env
  • 2c. Создадим сразу три поля
    add_field
  • 2d. Открываем наше окно в браузере с SSO настройками, что мы создали ранее в developers.eveonline.com
  • 2e. Теперь очень внимательно относимся к внесению правок в поля редактирования env файла.
    В таблице карточки, что мы создали, вспоминаем, 3-поля.
    В левое поле записывается ключ, в правое поле записывается значение.
    И так смотрим:
    В первое поле,в левую часть пишем ключ ESI_SSO_CLIENT_ID, а в правую часть пишем значение из вашего app , из строки Client ID, там кнопка есть в конце строки - скопировать(Copy to Clipboard)
    Во второе поле в левую часть пишем ESI_SSO_CLIENT_SECRET, в правую часть пишем значение из нашего app из строки Client Secret, там кнопка есть в конце строки - скопировать(Copy to Clipboard)
    В третьем поле в левую часть пишем ESI_SSO_CALLBACK_URL, в правую часть пишем значение из нашего app из строки Callback URL, там кнопка есть в конце строки - скопировать(Copy to Clipboard)
    • Сохраняем это всё (Зелёная кнопка-).
    • Пример ввода ключей значений (значения отсюда копировать не надо, они у Вас свои):
КЛЮЧ ЗНАЧЕНИЕ
ESI_SSO_CLIENT_ID 1a88f9ffd865475e96638da6b72da531
ESI_SSO_CLIENT_SECRET eat_ykhkCnrxXrkTk4Q5vKaL7Iddy9GbzHGd_4L3RXS
ESI_SSO_CALLBACK_URL https://abc.niceplatform.ru/sso/callback
  • 2i. Внимательно относитесь к вводу ключей-значение, при вводе ошибочного ключа или значения Вам поможет только саппорт.
    Работы по переходу на более удобоваримый способ ведутся, но пока вот так.