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

OSCHINA-MIRROR/thl9090-if-framework

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

** 近期服务器用来部署一些其他的服务了,体验地址暂时不可用,建议自己clone下工程,然后自己运行!!!**

yx-framework

yx信息技术平台

Общая архитектура:

  • yx-framework — yx информация.
    • yx-common — общий шаблон.

    • yx-generator — генератор кода.

    • yx-job — модуль для задач по расписанию.

    • yx-business — модуль сборки бизнес-логики (используется как для вызова, так и для предоставления услуг).

    • yx-service — микросервисный модуль.

      • yx-sys — базовый сервис системы (предоставление услуг).
        • yx-sys-common — перечисления и константы.
        • yx-sys-model — классы сущностей.
        • yx-sys-dao — интерфейс картографа.
        • yx-sys-rpc-api — определение интерфейса.
        • yx-sys-rpc-service — конкретная реализация.
      • yx-user — клиентский модуль (предоставление услуг).
        • yx-user-common —
        • yx-user-model —
        • yx-user-dao —
        • yx-user-rpc-api —
        • yx-user-rpc-service —

      В зависимости от потребностей бизнеса модули будут постоянно добавляться <<<<<<<<<<<<<<<<<<<<<<<<<<<

    • yx-server — сервисный модуль вызова.

      • yx-admin-server — система управления системой (вызов услуг).
      • yx-web-server — веб-сайт (вызов услуг).
      • yx-wx-server — WeChat (вызов услуг).
      • yx-mobile-server — приложение (вызов услуг).
      • yx-api-server — сторонние API (вызов услуг).
    • yx-ui — статические страницы системы.

      • yx-ui-admin — страница бэкенда системы управления.

Зависимости проекта:

  1. Установите Maven и Lombok (в зависимости от среды разработки, способ установки может различаться).

Зависимости для запуска проекта:

  1. Установите MySQL, ZooKeeper, Redis и Nginx и запустите соответствующие службы.
  2. Запустите сервисы, предоставляющие услуги, запустив метод serviceApplication main в каждом модуле rpc-service.
  3. Запустите сервисы вызова, запустив метод serverApplication main в каждом -server проекте.

Основные диаграммы:

Предварительный просмотр:

  • Диаграмма структуры: Предварительный просмотр
  • Основная диаграмма: Предварительный просмотр

Описание проекта:

  • Yx-framework представляет собой распределённую систему на Java, использующую интеграцию SpringBoot с открытым исходным кодом.
  • Автор создал эту структуру на основе своего опыта работы, чтобы упростить разработку и позволить другим расширять архитектуру в соответствии со своими потребностями.
  • Общие функции включают общие функции (базовые классы, компоненты доступа к данным, разделение чтения и записи, распределённые сеансы, HTTP-клиент, служба журналов, очередь, платёжные компоненты, кэш Redis, безопасность Web и т. д.), общую конфигурацию и инструменты.
  • Система управления включает управление пользователями, отделами, меню, ролями, словарями, параметрами, журналами и мониторингом приложений.
  • Бизнес-связанные функции включают оплату через WeChat и Alipay.
  • Коммуникация между системами поддерживается через расширение дочерних систем, которые используют Dubbo или MQ для связи.
  • Демонстрация платформы использует Maven для управления модулями проекта, что повышает удобство разработки и расширения проекта.

Ключевые функции:

  1. База данных: пул соединений Druid, мониторинг производительности базы данных и статистика выполнения SQL.
  2. Постоянный слой: MyBatis persistence, использование оптимизации MyBatis-Plus для уменьшения объёма разработки SQL; AOP для переключения баз данных для реализации разделения чтения и записи. Транзакционные аннотации для транзакций.
  3. MVC: на основе spring mvc аннотаций, Rest-стиль Controller. Единое управление исключениями.
  4. Кэш и сеанс: аннотации кэша Redis для данных, Spring-session и Redis для распределённой синхронизации сеансов, перезапуск служб не приводит к потере сеансов.
  5. Синхронизация данных: на основе распределённых блокировок Redis.
  6. Веб-безопасность: реализация XSS-фильтрации и CSR-фильтрации.
  7. Взаимодействие между несколькими системами: Dubbo, ActiveMQ для взаимодействия между несколькими системами.
  8. Разделение между фронтом и бэкэндом: фронт использует ajax для доступа к REST-сервисам бэкэнда, а бэкэнд возвращает данные в формате JSON. Страница использует nginx для обратного прокси-доступа.
  9. Платёжные функции: реализация оплаты через WeChat и Alipay на стороне клиента.
  10. Журналы: Logback для печати журналов, по умолчанию печатаются краткие журналы Web и Service.
  11. Инструменты: обработка строк, преобразование типов, обработка дат, IO и файлы, Excel чтение и запись, шифрование и дешифрование, HTTP-клиенты, XML-обработка, перекодирование, различные утилиты и т.д.
  12. Генератор кода: генерирует простой код для функций создания, изменения, удаления и запроса на основе структуры таблицы базы данных, включая model, mapper, service и controller.

Выбор технологии:

● Основная структура: Spring Boot 1.5.12.RELEASE + Dubbo 2.5.7 ● Распределённая координационная служба: ZooKeeper 3.4.11 ● Платформа проверки: Hibernate Validator 5.3.5.Final ● Платформа безопасности: Apache Shiro 1.4.0 ● Генератор кода: MyBatis Plus Generator 2.1.6 ● Структура постоянного слоя: MyBatis 3.4.5 + MyBatis-Plus 2.1.6 ● Пул соединений с базой данных: Alibaba Druid 1.1.9 ● Кэширующая структура: Redis.clients:jedis 2.8.2 ● Очередь: Apache ActiveMQ 5.14.5 ● Управление сеансами: Spring-Session 1.3.1 ● Управление журналом: SLF4J 2.2.45

Инструменты общего пользования: Hutool 3.2.3

Платёжный компонент: Egan pay-java-parent 2.0.7

Упрощение кода: Lombok 1.16.20

Сериализация данных: Alibaba Fastjson 1.2.41

HTTP-клиент: Hutool-http 4.0.10

Фреймворк для тестирования интерфейса: Swagger2

Шрифты и иконки: Alibaba Iconfont

JSON Web Token (JWT): jsonwebtoken 0.9.0

Локальная установка

  1. Требования к среде:

    • JDK1.8+
    • MySQL5.5+
    • Maven3.3+
    • Zookeeper3.3+
    • Redis3.0+
    • Nginx1.8+
    • Apache Activemq-5.0+ (необязательно)
  2. Выполнить SQL-файл doc/sqls/yxdb.sql для инициализации базы данных, таблиц и данных.

  3. Изменить файл каждого проекта /src/main/resources/application-dev.yml, обновить пароль MySQL, IP-адрес, порт и пароль Redis, адрес Zookeeper.

  4. Изменить Nginx/conf/nginx.conf, указать адреса статических и динамических страниц (см. приложение).

  5. Запустить MySQL, Zookeeper, Redis и Nginx.

  6. В IntelliJ IDEA меню File-Settings-Plugins добавить плагин Lombok.

  7. Доступ по адресу: http://localhost, пароль: admin/123456.

  8. Доступ к Swagger по адресу: http://localhost:8089/swagger-ui.html.

  9. Инструменты для загрузки файлов, отправки электронной почты, SMS и т. д. могут быть недоступны. Необходимо настроить accessKeyId и accessKeySecret в таблице параметров (sys_param), чтобы использовать их.

Адрес проекта

● Gitee: https://gitee.com/thl9090/if-framework

● GitHub: https://github.com/thl9090/if-framework

Демонстрация проекта

● Адрес демонстрации: http://134.175.157.186/

● Имя пользователя и пароль: test/123456

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

QQ группа: 977482984

Сканирование QR-кода для присоединения к группе

qq群

Предварительные изображения

Предварительный просмотр

Предварительный просмотр

Предварительный просмотр

Предварительный просмотр

Предварительный просмотр

Предварительный просмотр

Предварительный просмотр

Предварительный просмотр

Предварительный просмотр

Предварительный просмотр

Заявление об авторских правах

Проект yx-framework использует лицензию Apache License 2.0.

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

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

Введение

if-framework — это распределённая платформа для быстрой разработки, использующая фреймворки SpringBoot, Dubbo, Zookeeper, Redis, MySQL и MQ. Она включает в себя: * список администраторов; * управление ролями; * управление меню; * выполнение задач по расписанию; * управление параметрами; * генератор кода; * ведение журнала; * хранилище OSS; * отп... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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