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

OSCHINA-MIRROR/liuge1988-kitty-ui

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 20:51 e951089

Техническое общение

Для удобства обсуждения и технического общения я создал группу в QQ. Добро пожаловать, присоединяйтесь!

QQ техническая группа: 528818161

Блог с учебными пособиями

В своём блоге я публикую серию статей с учебными материалами о том, как создать систему управления правами доступа Kitty с нуля.

Описание веток

  • master: основная ветка для разработки, поддерживает распределённую архитектуру и управление сервисами (Spring Security + Spring Cloud).

  • dev: ветка разработки, регулярно объединяется с основной веткой master, поддерживает распределённую архитектуру и управление сервисами (Spring Security + Spring Cloud).

  • shiro-cloud: основана на Spring Boot, Shiro и Spring Cloud, поддерживает распределённую архитектуру и управление сервисами.

  • shiro: основана на Spring Boot и Shiro, не включает Spring Cloud, среда развёртывания немного проще.

  • idea: структура проекта IDEA, можно использовать эту ветку для быстрого импорта проекта в IDEA.

Введение в проект

Kitty — это платформа быстрой разработки на Java, основанная на Spring Boot, Spring Cloud, Vue и Element. Цель проекта — создать простое и удобное решение, которое поможет снизить сложность и стоимость разработки проектов. В моём блоге вы найдёте пошаговые инструкции по созданию аналогичных систем.

Список функций

✔ Система входа: вход пользователя в систему, аутентификация (с использованием токенов). ✔ Управление пользователями: создание, изменение, удаление и поиск пользователей. ✔ Управление организациями: создание, изменение, удаление и поиск организаций. ✔ Управление ролями: создание, изменение, удаление и поиск ролей. ✔ Управление меню: создание, изменение, удаление и поиск меню. ✔ Управление словарями: создание, изменение, удаление и поиск словарей. ✔ Журнал системы: запись действий пользователей, просмотр журнала выполнения системы. ✔ Мониторинг данных: настройка информации Druid, предоставление эффективного мониторинга SQL. ✔ Генерация документов: настройка онлайн-документов, предоставление красивых API-документов. ✔ Резервное копирование и восстановление: резервное копирование системы и быстрое восстановление начальных данных. ✔ Переключение тем: поддержка переключения тем, настройка собственных цветов тем, быстрая смена тем. ✔ Управление сервисами: интеграция с Consul для регистрации сервисов, реализация обнаружения и регистрации сервисов. ✔ Мониторинг сервисов: интеграция со Spring Boot Admin для мониторинга сервисов. ✔ Потребление сервисов: интеграция с Ribbon и Feign для вызова сервисов и балансировки нагрузки. ✔ Отказоустойчивость сервисов: интеграция с Hystrix и Turbine для обеспечения отказоустойчивости и мониторинга. ✔ Сервисный шлюз: интеграция с Spring Cloud Zuul для реализации шлюза API. ✔ Трассировка сервисов: интеграция с Sleuth и Zipkin для распределённой трассировки. ✔ Конфигурационный центр: интеграция с Config и Bus для создания распределённого конфигурационного центра. ✔ Генератор кода: предоставление генератора кода, максимальное сокращение объёма разработки кода. ✘ Единый вход: использование OAuth2 для предоставления единой функции входа. ✘ Система входа: интеграция сторонних функций входа (QQ, WeChat, Weibo). ...

Генератор кода

Генератор кода находится в отдельном проекте по адресу: https://gitee.com/liuge1988/kitty-generator.

Архитектура программного обеспечения

Бэкенд-архитектура

  • Среда разработки:

    • IDE: Eclipse 4.x.
    • JDK: JDK1.8.x.
    • Maven: Maven 3.5.x.
    • MySQL: MySQL 5.7.x.
  • Выбор технологий:

    • Основная структура: Spring Boot 2.x.
    • Управление сервисами: Spring Cloud Finchley.
    • Структура безопасности: Spring Security 5.x.
    • Фреймворк представления: Spring MVC 5.x.
    • Слой персистентности: MyBatis 3.x.
    • Пул соединений с базой данных: Druid 1.x.
    • Логирование: SLF4J, Log4j.
  • Структура проекта:

    • kitty-common: общий код модуля, в основном содержит некоторые инструменты.

    • kitty-core: основной код модуля, в основном инкапсулирует общие бизнес-модули.

    • kitty-admin: бэкэнд-модуль управления, включая управление пользователями, ролями и меню.

    • kitty-backup: модуль резервного копирования данных системы, может быть развёрнут отдельно.

    • kitty-monitor: сервисный монитор, мониторинг сервисов Spring Boot.

    • kitty-producer: пример поставщика услуг, удобный для построения модулей на этой основе.

    • kitty-consumer: потребитель услуг, пример, удобный для построения модулей на этой основе.

    • kitty-hystrix: модуль отказоустойчивости сервисов, собирает и суммирует статистику отказов.

    • kitty-zuul: сервисный шлюз API, унифицированное управление и пересылка внешних запросов.

    • kitty-config: сервисный конфигурационный сервер, генерирует интерфейс доступа к конфигурации GIT.

    • kitty-consul: регистрационный центр, каталог установки, прилагается руководство по установке.

    • kitty-zipkin: отслеживание ссылок, каталог установки, прилагается руководство по установке.

    • config-repo: конфигурационный центр репозитория, централизованное хранение файлов конфигурации системы в GIT.

    • kitty-pom: агрегатный модуль, только для упрощения упаковки, выполняет упаковку всех модулей одним щелчком мыши.

Фронтенд-архитектура

  • Среда разработки:

    • IDE: VS Code 1.27.
    • NODE: Node 8.9.x.
    • NPM: NPM 6.4.x.
  • Выбор технологий:

    • Фронтенд-фреймворк: Vue 2.x.
    • Компонент страницы: Element 2.x.
    • Состояние управления: Vuex 2.x.
    • Взаимодействие с бэкендом: axios 0.18.x.
    • Значки: Font Awesome 4.x.
  • Структура проекта:

    • kitty-ui:
      • assets: значки, шрифты, информация о локализации и т. д. статические ресурсы.
      • components: библиотека компонентов, инкапсуляция часто используемых компонентов.
      • http: модуль взаимодействия с бэкэндом, унифицированный запрос API бэкэнда.
      • i18n: модуль интернационализации, использует Vue i18n для интернационализации.
      • mock: модуль имитации, имитация вызовов интерфейса и возврат настроенных данных.
      • permission: модуль разрешений, обработка логики аутентификации разрешений.
      • router: модуль маршрутизации, отвечает за настройку различных маршрутов страниц.
      • store: модуль управления состоянием, предоставляет совместное использование состояния между компонентами.
      • utils: модуль инструментов, предоставляет некоторые общие методы инструментов.
      • views: модуль страниц, в основном размещает различные компоненты страниц.

Руководство по установке

Установка бэкенда

  1. Загрузите исходный код:

    git clone https://gitee.com/liuge1988/kitty.git.

  2. Импортируйте проект:

    Импортируйте Maven-проект с помощью Eclipse, перед этим убедитесь, что у вас установлены JDK и Maven.

  3. Скомпилируйте код:

    Найдите файл pom.xml проекта kitty-pom, выполните команду mvn clean install, чтобы скомпилировать и упаковать его одним щелчком мыши. Как правило, проблем не возникает, но если компиляция всё равно не удалась, попробуйте скомпилировать по приоритету один за другим.

  4. Импорт базы данных:

    Создайте базу данных kitty, импортируйте скрипт doc/kitty.sql проекта kitty-admin в базу данных, импортируйте инициализацию базы данных.

    Измените соединение с базой данных и пароль учётной записи в application.yml проекта kitty-admin на конфигурацию вашей собственной базы данных.

    Измените подключение к базе данных и пароль учётной записи в приложении kitty-backup application.yml на конфигурацию вашей собственной базы данных.

  5. Запустите систему:

    Основные обязательные модули (регистрационный центр: kitty-consul, управление сервисами: kitty-monitor):

    Найдите проект kitty-consul и установите регистрационный центр в соответствии с инструкциями по установке, после завершения выполните команду consul agent -dev, чтобы запустить его.

    Найдите приложение KittyMonitorApplication в проекте kitty-monitor, запустите проект и включите мониторинг сервисов.

    Модули управления разрешениями (управление разрешениями: kitty-admin, резервное копирование и восстановление: kitty-backup):

    Найдите приложение KittyAdminApplication в проекте kitty-admin, запустите проект, включите систему управления разрешениями.

    Найдите KittyBackupApplication.java в проекте kitty-backup, запустите проект, включите службу резервного копирования и восстановления.

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

Обратите внимание:

Если вам нужна служба отслеживания ссылок, вам необходимо установить zipkin, найти проект kitty-zipkin и установить его в соответствии с инструкцией по установке.

Если вам нужен конфигурационный сервис, вам нужно установить rabbitMQ, найти проект kitty-config и установить его в соответствии с инструкцией по установке.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/liuge1988-kitty-ui.git
git@api.gitlife.ru:oschina-mirror/liuge1988-kitty-ui.git
oschina-mirror
liuge1988-kitty-ui
liuge1988-kitty-ui
dev