1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/tearwind-GenUI

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

GenUI

Проект: введение

В крупных приложениях системы управления обычно представляют собой небольшой, но важный модуль, который не всегда хочется разрабатывать. Есть желание добавить новую систему управления, которая будет управлять базовыми данными, создавать отчёты по историческим данным, обеспечивать безопасное управление правами доступа, предоставлять комплексные функции мониторинга системы и обеспечивать быструю разработку графического интерфейса. Также требуется гибкость для адаптации к корпоративной структуре. Всё это можно реализовать с помощью GenUI.
Проект начался как часть платформы анализа больших данных и прошёл несколько этапов развития, в результате чего был разработан удобный в использовании продукт. Он обладает рядом преимуществ.

  1. Гибкость источников бизнес-данных.

  1. Управление правами доступа осуществляется на основе метаданных о правах доступа, данных бизнес-отчётов и данных отчётов CBoard. Эти источники данных полностью независимы друг от друга, что позволяет более гибко управлять их развёртыванием.
  2. Доступны разнообразные источники данных. На основе CBoard можно быстро подключить множество источников данных, таких как JDBC, ElasticSearch, HBase, txt. Собственные бэкенд-сервисы, разработанные на базе MySQL и Oracle, также хорошо интегрированы.
  3. Благодаря распределённому сервисному управлению на основе Dubbo, добавление новых модулей данных становится простым процессом. Например, если необходимо добавить поддержку HDFS, Solr или собственных сервисов компании, достаточно создать новый бэкенд-сервис.

  2. Гибкое управление правами доступа.

  1. Реализовано настраиваемое управление правами доступа, которое может быть адаптировано под конкретные потребности. Хотя оно может быть менее надёжным, чем решения на основе Shiro, оно всё равно эффективно. Кроме того, его легко расширить. Если система прав доступа основана не на RBAC, а на более сложных аспектах, таких как отделы, должности, регионы и т. д., то индивидуальное решение может оказаться более удобным, чем использование фреймворков вроде Shiro.
  2. Права доступа контролируются только на уровне страниц и контроллеров, независимо от источника данных бэкенда.

  3. Простота разработки.

  1. Графические инструменты для создания отчётов на основе CBoard позволяют легко создавать отчёты, подходящие для всех пользователей.
  2. Для бэкенд-сервисов, разработанных для MySQL и Oracle, предоставляется поддержка автоматического создания кода. Это упрощает разработку и обеспечивает быстрый доступ к инструментам для технических специалистов.

  4. Простое развёртывание.

  1. CBoard и dubbo-admin поставляются в виде готовых версий, без необходимости работы с исходным кодом.
  2. Другие модули основаны на springBoot+maven, что упрощает процесс сборки и развёртывания.

  5. Фронтенд-представление.

  1. Используются AngularJS и BootStrap, обеспечивая поддержку различных разрешений экрана. Подходит для планшетов, мобильных устройств и ПК.
  2. Дизайн основан на INSPINIA, предлагая стильный и профессиональный вид.

Этот UI-инструмент предназначен для облегчения процесса разработки, позволяя разработчикам сосредоточиться на бизнес-логике и обеспечивая приятный опыт разработки.

Функциональные особенности

1. Интеграция мощного открытого инструмента CBoard для создания отчётов.

CBoard предоставляет возможность интеграции отчётов в качестве панелей инструментов в интерфейсе пользователя. Разработчики могут легко создавать графические отчёты.
Конфигурация требует только настройки одного меню с statePath, равным cboard.dashboard({id: идентификатор панели}). Процесс настройки прост и быстр.
Отчёты, созданные в CBoard, могут быть непосредственно включены в интерфейс пользователя.

2. Genauth для фронтенда, разработанный с использованием Angularjs и BootStrap.

Genauth предлагает стильный дизайн на основе Inspinia, обеспечивая адаптивность для разных устройств.
Разработчики могут быстро настроить права доступа для пользователей, избегая сложности, связанной с поиском нужных страниц.

3. Комплексный мониторинг.

Платформа предоставляет следующие функции мониторинга:

  • Alibaba Druid для мониторинга соединений с базой данных.
  • Отслеживание активности пользователей и операций для обеспечения безопасности.
  • Реальное время мониторинга журналов через веб-сокеты.
    Эти функции обеспечивают полное представление о работе платформы и позволяют оперативно реагировать на проблемы.

4. Настраиваемая система управления правами доступа.

Система управления правами доступа разработана самостоятельно, предоставляя гибкие возможности для расширения.
Для каждого меню необходимо настроить несколько параметров:

  • statePath: путь состояния в Angularjs router.
  • menuCode: код, определяющий права доступа к меню.
  • ControllerCode: класс контроллера, обеспечивающий доступ к данным для меню.
  • pageCode: определяет права доступа к элементам управления на странице.
    Эта система обеспечивает детальный контроль над доступом к различным компонентам интерфейса.

5. Автоматическое создание кода для отчётов.

Сервис GenServer предоставляет шаблон для бэкенд-разработки, включая реализацию быстрого создания таблиц на основе Bean-аннотаций.
Также реализована функция автоматического создания кода для упрощения процесса разработки отчётов. Способ развёртывания загрузочной программы не будет подробно объясняться, только кратко. Если вы не понимаете, можете поискать в интернете.

После компиляции с помощью maven в каталоге target создаётся каталог runlib, а в подкаталоге bin автоматически создаются сценарии запуска для платформ Linux и Windows. Просто запустите их, чтобы запустить приложение. Для Linux обратите внимание на необходимость предоставления прав на выполнение.

Конфигурацию приложения для различных сред можно задать с помощью параметра -Dboot.env=XXX. Файлы конфигурации считываются из application.properties и application-XXX.properties.

4. Запуск основного приложения genauth. Это приложение разработано для Spring Boot. Подробные инструкции по развёртыванию см. выше.

В примере версии инициализации genauth настроен так, что он зависит от сервисов, предоставляемых GenServer, а не от CBoard. Поэтому теоретически необходимо запустить GenServer перед запуском.

Проверка зависимостей сервисов описана в документации Dubbo.

Описание структуры каталогов

  1. genauth: основная структура. Разработана на основе архитектуры Spring-Boot и включает в себя функции управления метаданными и отображения передней панели.
  2. GenServer: структура серверной службы. Разработан на основе Spring-Boot для поддержки данных для genauth через Dubbo.
  3. GenApi: интерфейс взаимодействия между потребителями и поставщиками услуг Dubbo. В основном поддерживает интерфейсы служб и POJO.
  4. CodeGen: модуль быстрого создания кода на основе genauth и GenServer.
  5. webapps/cboard: модифицированная версия cboard 0.4.1 с открытым исходным кодом. Это скомпилированная версия, готовая к использованию. По умолчанию учётные данные для входа: admin/root123.
  6. webapps/dubo-admin: версия Dubbo 2.5.8 для мониторинга сервисов, скомпилированная и готовая к использованию без необходимости разбираться в исходном коде.
  7. zookeeper GenUI: внешняя зависимость от zookeeper. Используется версия 3.4.5 для разработки и отладки.

Обновления версий

  • 2018 год, 8 марта: добавлен модуль генерации кода.
  • 2018 год, 24 апреля: добавлены функции автоматического создания и удаления отчётов. Планируется добавить в будущие обновления.
  • 2018 год, 31 августа: значительные обновления в автоматическом создании отчётов, включая использование MyBatis для общих запросов, оптимизацию совместимости и форматирования для типов данных date и timestamp, добавление элементов управления датой и временем в шаблоны HTML для автоматического создания отчётов и оптимизацию загрузки JavaScript и CSS для отчётов CBoard. Теперь использовать стало удобнее.
  • 2023 год, 26 сентября: улучшена функция создания снимков страниц. Ориентировано на разработку MySQL.

Заявление

Мы приветствуем критику и предложения по улучшению. Мы также приветствуем вклад кода. Проект прошёл через несколько компаний, где его применяли на практике, и постепенно совершенствовался. Однако, поскольку проект всё ещё находится на ранней стадии открытого исходного кода, у меня есть время только на то, чтобы поддерживать его в свободное время. Многие функции требуют дальнейшего улучшения.

  1. Автоматическое создание кода. Уже создана система автоматического создания кода, которая будет расширяться и обновляться в будущем. Она будет включать все операции CRUD для данных.
  2. Улучшенное управление. Безопасность всегда была сложной и утомительной задачей для администраторов платформ. В будущем мы надеемся помочь разработчикам избежать этих проблем и сосредоточиться на бизнесе. Планируем улучшить мониторинг на основе журналов доступа, предоставить более комплексные функции мониторинга и оповещения о сбоях, а также периодические напоминания.
  3. Более эффективное повышение производительности. В будущем планируем внедрить Docker, статические страницы и другие функции.
  4. Повышенная стабильность. Продолжаем улучшать стабильность системы и её способность выдерживать нагрузку как на передней, так и на задней панелях.
  5. Функция создания снимков страниц. После внесения изменений в данные сохраняем страницу. Это более полезно, чем логирование. Скоро появится.
  6. Другие расширенные функции управления. Планируем добавить такие функции, как рабочие процессы, скины страниц, чат платформы, уведомления по электронной почте и другие.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Быстрая сборка системы управления бэкендом; хорошая совместимость страниц с Bootstrap; автоматическое создание кода, быстрое освоение; использование сразу после распаковки; разработка отчётов на страницах с помощью перетаскивания; микросервисы с распределением; быстрое расширение с минимальным вмешательством. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/tearwind-GenUI.git
git@api.gitlife.ru:oschina-mirror/tearwind-GenUI.git
oschina-mirror
tearwind-GenUI
tearwind-GenUI
master