AgileBoot es una plataforma de desarrollo rápido, optimizada y de pila completa de código abierto que es gratuita para que individuos y empresas la utilicen sin reservas. El objetivo de este proyecto es crear un pequeño andamiaje de desarrollo que sea ágil, confiable, tenga un estilo de codificación excelente y tenga especificaciones de proyecto. Adecuado para pequeños proyectos de desarrolladores individuales o proyectos internos de la empresa. También se puede utilizar como caso de aprendizaje para principiantes.
La versión V1.0.0 se desarrolla utilizando JS y la versión V2.0.0 se desarrolla utilizando TS .
Dirección V1.0.0: Backend (AgileBoot-Back-End-Basic) - Frontend (AgileBoot-Front-End-Basic)
Si tiene alguna pregunta o sugerencia, puede enviársela al autor en Problemas .
Tu problema es más importante que la estrella
Si crees que el proyecto te resulta útil, puedes darle una estrella.
Dirección de demostración:
Contraseña de la cuenta: admin/admin123
Quería hacer algunos pequeños proyectos personales en mi tiempo libre. Al principio busqué muchos proyectos de código abierto como Ruoyi / Jeecg / ElAdmin / RenRen-Fast / Guns / EAdmin.
Finalmente, este proyecto optó por reconstruirse y transformarse completamente en base al proyecto Ruoyi.
En primer lugar, muchas gracias al autor Ruoyi. Pero el proyecto Ruoyi tiene demasiados defectos.
Entonces hice mucho trabajo de refactorización.
tecnología | ilustrar | Versión |
---|---|---|
springboot | Marco esencial para proyectos Java. | 2.7 |
druid | grupo de conexiones de base de datos de alibaba | 1.2.8 |
springdoc | Generación de documentos | 3.0.0 |
mybatis-plus | marco de base de datos | 3.5.2 |
hutool | Kit de herramientas domésticas (sencillo y fácil de usar) | 3.5.2 |
mockito | Simulación de prueba unitaria | 1.10.19 |
guava | Kit de herramientas de Google (que proporciona una implementación de caché sencilla) | 31.0.1-jre |
junit | Pruebas unitarias | 1.10.19 |
h2 | Base de datos en memoria | 1.10.19 |
jackson | Un marco Json más seguro | seguir springboot |
knife4j | Marco de documentación de interfaz | 3.0.3 |
Spring Task | Marco de tareas cronometradas (adecuado para proyectos pequeños) | seguir 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. 当出现以下字样即为启动成功
____ _ _ __ _ _
/ ___| | |_ __ _ _ __ | |_ _ _ _ __ ___ _ _ ___ ___ ___ ___ ___ / _| _ _ | || |
___ | __|/ _` || '__|| __| | | | || '_ / __|| | | | / __|/ __|/ _ / __|/ __|| |_ | | | || || |
___) || |_| (_| || | | |_ | |_| || |_) | __ | |_| || (__| (__| __/__ \__ | _|| |_| || ||_|
|____/ __|__,_||_| __| __,_|| .__/ |___/ __,_| ___|___|___||___/|___/|_| __,_||_|(_)
|_|
Para conocer los pasos detallados, consulte la sección de interfaz correspondiente.
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.
El proceso detallado se encuentra en este artículo: AgileBoot: guía paso a paso para ejecutar un proyecto completo (SpringBoot+Vue3)
Para el personal de front-end que quiera probar proyectos full-stack, aquí hay una forma más sencilla de iniciar el back-end sin configurar Mysql y 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启动类,直接启动即可
? La mayoría de las funciones han pasado pruebas unitarias y de integración para garantizar la calidad.
Función | describir | |
---|---|---|
Gestión de usuarios | El usuario es el operador del sistema. Esta función completa principalmente la configuración del usuario del sistema. | |
Gestión del departamento | Configure la organización del sistema (empresa, departamento, grupo), la visualización de la estructura de árbol admite permisos de datos | |
Gestión de posiciones | Configurar las posiciones de los usuarios del sistema | |
Gestión de menús | Configure menús del sistema, permisos de operación, identificadores de permisos de botones, etc., y el caché local proporciona rendimiento | |
gestión de roles | Asignación de permisos del menú de roles, configuración de roles, división de permisos de rango de datos por organización | |
Gestión de parámetros | Configurar dinámicamente parámetros comunes para el sistema. | |
Avisos y anuncios | Notificación del sistema, publicación de información y mantenimiento. | |
Registro de operaciones | Registro y consulta del registro de funcionamiento normal del sistema; registro y consulta del registro de información anormal del sistema; | |
Iniciar sesión | La consulta del registro de inicio de sesión del sistema contiene una excepción de inicio de sesión | |
Usuarios en línea | Monitoreo del estado del usuario activo en el sistema actual | |
Interfaz del sistema | Genere automáticamente documentos de interfaz API relevantes basados en el código comercial | |
Monitoreo de servicios | Supervise la CPU, la memoria, el disco, la pila y otra información relacionada del sistema actual | |
Monitoreo de caché | Consultar información de caché del sistema, estadísticas de comandos, etc. | |
Monitoreo del grupo de conexiones | Supervise el estado actual del grupo de conexiones de la base de datos del sistema y analice SQL para encontrar cuellos de botella en el rendimiento del sistema. |
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 -- 应用服务(事务层,操作领域模型类完成业务逻辑)
Las solicitudes se dividen en dos categorías: una es consulta y la otra es operación (es decir, actualización de datos).
Consulta : Controlador > xxxQuery > xxxApplicationService > xxxService(Db) > xxxMapper
Operación : Controlador > xxxCommand > xxxApplicationService > xxxModel (lógica de procesamiento) > guardar o actualizar (este proyecto utiliza directamente JPA para insertar datos actualizados)
Esto se basa en el concepto de desarrollo de CQRS, que separa consultas y operaciones. La implementación empresarial de clases de operación se basa en el concepto de diseño táctico DDD, utilizando clases de dominio y clases de fábrica para una lógica de implementación más orientada a objetos. Si no se siente cómodo con este modelo de desarrollo. Puede desarrollar en el módulo de dominio de acuerdo con el patrón que utilizó antes desde Controlador->Servicio->DAO. depende de ti.
Supongamos que desea agregar una nueva empresa miembro, puede agregar los paquetes correspondientes en los siguientes tres módulos para implementar su empresa.
agileboot
├── agileboot-admin --
│ ├── member -- 会员模块
│
├── agileboot-domain --
├ ├── member -- 会员模块(举例)
├ ├── command -- 命令参数接收模型(命令)
├ ├── dto -- 返回数据类
├ ├── db -- DB操作类
├ ├── entity -- 实体类
├ ├── service -- DB Service
├ ├── mapper -- DB Dao
├ ├── model -- 领域模型类
├ ├── query -- 查询参数模型(查询)
│ ├────── MemberApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
└─
Grupo QQ: haga clic en el botón para unirse al grupo.
Si cree que este proyecto es útil para usted, puede hacer una pequeña donación para respaldar el servidor del sitio web de demostración del proyecto y otros gastos ~