AgileBoot — это полнофункциональная оптимизированная и быстрая платформа разработки с открытым исходным кодом, которую частные лица и предприятия могут использовать без каких-либо ограничений. Цель этого проекта — создать небольшую платформу разработки, которая была бы оптимизированной, надежной, имела отличный стиль кодирования и имела спецификации проекта. Подходит для небольших проектов индивидуальных разработчиков или внутренних проектов компании. Его также можно использовать в качестве учебного пособия для начинающих.
Версия V1.0.0 разработана с использованием JS, а версия V2.0.0 — с использованием TS .
Адрес V1.0.0: Серверная часть (AgileBoot-Back-End-Basic) — Интерфейсная часть (AgileBoot-Front-End-Basic)
Если у вас есть какие-либо вопросы или предложения, вы можете отправить их автору в разделе «Вопросы» .
Ваша проблема важнее звезды
Если вы считаете, что проект полезен для вас, вы можете поставить ему звезду.
Демо-адрес:
Пароль учетной записи: admin/admin123
В свободное время я хотел заняться небольшими личными проектами. Сначала я искал множество проектов с открытым исходным кодом, таких как Ruoyi/Jeecg/ElAdmin/RenRen-Fast/Guns/EAdmin.
Наконец, этот проект решил полностью реконструировать и трансформировать на основе проекта Руойи.
Прежде всего, большое спасибо автору Руойи. Но у проекта Руойи слишком много недостатков.
Поэтому я проделал большую работу по рефакторингу.
технология | иллюстрировать | Версия |
---|---|---|
springboot | Основная платформа для проектов Java | 2,7 |
druid | пул соединений с базой данных Alibaba | 1.2.8 |
springdoc | Генерация документов | 3.0.0 |
mybatis-plus | структура базы данных | 3.5.2 |
hutool | Набор бытовых инструментов (простой и удобный в использовании) | 3.5.2 |
mockito | Моделирование модульного тестирования | 1.10.19 |
guava | Инструментарий Google (обеспечивающий простую реализацию кэша) | 31.0.1-jre |
junit | Модульное тестирование | 1.10.19 |
h2 | База данных в памяти | 1.10.19 |
jackson | Более безопасная структура Json | следовать за Springboot |
knife4j | Структура документации интерфейса | 3.0.3 |
Spring Task | Система временных задач (подходит для небольших проектов) | следовать за Springboot |
git clone https://github.com/valarchie/AgileBoot-Back-End
git clone https://github.com/valarchie/AgileBoot-Front-End
1. 生成所需的数据库表
找到后端项目根目录下的sql目录中的agileboot_xxxxx.sql脚本文件(取最新的sql文件)。 导入到你新建的数据库中。
2. 在admin模块底下,找到resource目录下的application-dev.yml文件
配置数据库以及Redis的 地址、端口、账号密码
3. 在根目录执行mvn install
4. 找到agileboot-admin模块中的AgileBootAdminApplication启动类,直接启动即可
5. 当出现以下字样即为启动成功
____ _ _ __ _ _
/ ___| | |_ __ _ _ __ | |_ _ _ _ __ ___ _ _ ___ ___ ___ ___ ___ / _| _ _ | || |
___ | __|/ _` || '__|| __| | | | || '_ / __|| | | | / __|/ __|/ _ / __|/ __|| |_ | | | || || |
___) || |_| (_| || | | |_ | |_| || |_) | __ | |_| || (__| (__| __/__ \__ | _|| |_| || ||_|
|____/ __|__,_||_| __| __,_|| .__/ |___/ __,_| ___|___|___||___/|___/|_| __,_||_|(_)
|_|
Подробные инструкции см. в соответствующем разделе интерфейса.
1. pnpm install
2. pnpm run dev
3. 当出现以下字样时即为启动成功
vite v2.6.14 dev server running at:
> Local: http://127.0.0.1:80/
ready in 4376ms.
Подробный процесс описан в этой статье: AgileBoot — пошаговое руководство по запуску полнофункционального проекта (SpringBoot+Vue3).
Для сотрудников клиентской части, которые хотят попробовать полноценные проекты, есть более простой способ запустить серверную часть без настройки Mysql и Redis.
1. 找到agilboot-admin模块下的resource文件中的application.yml文件
2. 配置以下两个值
spring.profiles.active: basic,dev
改为
spring.profiles.active: basic,test
agileboot.embedded.mysql: false
agileboot.embedded.redis: false
改为
agileboot.embedded.mysql: true
agileboot.embedded.redis: true
请注意:高版本的MacOS系统,无法启动内置的Redis
3. 找到agileboot-admin模块中的AgileBootAdminApplication启动类,直接启动即可
? Большинство функций прошли модульное тестирование и интеграционное тестирование для обеспечения качества.
Функция | описывать | |
---|---|---|
Управление пользователями | Пользователь является системным оператором. Эта функция в основном завершает настройку пользователя системы. | |
Управление отделом | Настройка организации системы (компания, отдел, группа), отображение древовидной структуры поддерживает права доступа к данным. | |
Управление позициями | Настройка позиций пользователей системы | |
Управление меню | Настраивайте системные меню, разрешения на операции, идентификаторы разрешений кнопок и т. д., а локальный кеш обеспечивает производительность. | |
управление ролями | Распределение разрешений в меню ролей, настройка ролей, разделение разрешений на диапазон данных по организациям | |
Управление параметрами | Динамическая настройка общих параметров системы. | |
Уведомления и объявления | Выпуск и обслуживание информации о системных уведомлениях | |
Журнал операций | Запись и запрос журнала нормальной работы системы. Запись и запрос журнала ненормальной информации системы; | |
Журнал входа в систему | Запрос журнала входа в систему содержит исключение входа в систему | |
Онлайн-пользователи | Активный мониторинг статуса пользователей в текущей системе | |
Системный интерфейс | Автоматически генерировать соответствующие документы интерфейса API на основе бизнес-кода. | |
Мониторинг услуг | Отслеживайте текущий системный процессор, память, диск, стек и другую соответствующую информацию. | |
Мониторинг кэша | Запросить информацию о системном кэше, статистику команд и т. д. | |
Мониторинг пула соединений | Отслеживайте текущее состояние пула соединений с базой данных системы и анализируйте SQL, чтобы найти узкие места в производительности системы. |
agileboot
├── agileboot-admin -- 管理后台接口模块(供后台调用)
│
├── agileboot-api -- 开放接口模块(供客户端调用)
│
├── agileboot-common -- 精简基础工具模块
│
├── agileboot-infrastructure -- 基础设施模块(主要是配置和集成,不包含业务逻辑)
│
├── agileboot-domain -- 业务模块
├ ├── user -- 用户模块(举例)
├ ├── command -- 命令参数接收模型(命令)
├ ├── dto -- 返回数据类
├ ├── db -- DB操作类
├ ├── entity -- 实体类
├ ├── service -- DB Service
├ ├── mapper -- DB Dao
├ ├── model -- 领域模型类
├ ├── query -- 查询参数模型(查询)
│ ├────── UserApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
Запросы делятся на две категории: одна — запрос, а другая — операция (то есть обновление данных).
Запрос : Контроллер > xxxQuery > xxxApplicationService > xxxService(Db) > xxxMapper
Операция : Контроллер > xxxCommand > xxxApplicationService > xxxModel (логика обработки) > сохранить или обновить (этот проект напрямую использует JPA для вставки обновленных данных)
Это основано на концепции разработки CQRS, которая разделяет запросы и операции. Бизнес-реализация классов операций опирается на концепцию тактического проектирования DDD с использованием классов предметной области и фабричных классов для более объектно-ориентированной логики реализации. Если вас не устраивает такая модель развития. Вы можете разработать модуль домена в соответствии с шаблоном, который вы использовали ранее, из Controller->Service->DAO. это зависит от вас.
Предположим, вы хотите добавить новую компанию-участника, вы можете добавить соответствующие пакеты в следующие три модуля для реализации своего бизнеса.
agileboot
├── agileboot-admin --
│ ├── member -- 会员模块
│
├── agileboot-domain --
├ ├── member -- 会员模块(举例)
├ ├── command -- 命令参数接收模型(命令)
├ ├── dto -- 返回数据类
├ ├── db -- DB操作类
├ ├── entity -- 实体类
├ ├── service -- DB Service
├ ├── mapper -- DB Dao
├ ├── model -- 领域模型类
├ ├── query -- 查询参数模型(查询)
│ ├────── MemberApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
└─
Группа QQ: нажмите кнопку, чтобы присоединиться к группе.
Если вы считаете, что этот проект вам полезен, вы можете сделать небольшое пожертвование на поддержку сервера демо-сайта проекта и другие расходы~