AgileBoot é uma plataforma de código aberto, de pilha completa, simplificada e de desenvolvimento rápido, gratuita para indivíduos e empresas usarem sem reservas. O objetivo deste projeto é criar um pequeno andaime de desenvolvimento que seja simplificado, confiável, tenha excelente estilo de codificação e especificações de projeto. Adequado para pequenos projetos de desenvolvedores individuais ou projetos internos da empresa. Também pode ser usado como caso de aprendizagem para iniciantes.
A versão V1.0.0 é desenvolvida em JS e a versão V2.0.0 é desenvolvida em TS .
Endereço V1.0.0: Backend (AgileBoot-Back-End-Basic) - Frontend (AgileBoot-Front-End-Basic)
Se você tiver dúvidas ou sugestões, poderá enviá-las ao autor em Edições .
Seu problema é mais importante que a estrela
Se você acha que o projeto é útil para você, você pode dar uma estrela
Endereço de demonstração:
Senha da conta: admin/admin123
Eu queria fazer alguns pequenos projetos pessoais em meu tempo livre. No começo procurei muitos projetos de código aberto, como Ruoyi/Jeecg/EAdmin/RenRen-Fast/Guns/EAdmin.
Finalmente, este projeto optou por reconstruir e transformar completamente com base no projeto Ruoyi.
Em primeiro lugar, muito obrigado ao autor Ruoyi. Mas o projeto Ruoyi tem muitas falhas.
Então fiz muito trabalho de refatoração.
tecnologia | ilustrar | Versão |
---|---|---|
springboot | Framework essencial para projetos Java | 2.7 |
druid | pool de conexões de banco de dados alibaba | 1.2.8 |
springdoc | Geração de documentos | 3.0.0 |
mybatis-plus | estrutura de banco de dados | 3.5.2 |
hutool | Kit de ferramentas domésticas (simples e fácil de usar) | 3.5.2 |
mockito | Simulação de teste unitário | 1.10.19 |
guava | Kit de ferramentas do Google (fornecendo implementação de cache simples) | 31.0.1-jre |
junit | Teste de unidade | 1.10.19 |
h2 | Banco de dados na memória | 1.10.19 |
jackson | Uma estrutura Json mais segura | siga o springboot |
knife4j | Estrutura de documentação de interface | 3.0.3 |
Spring Task | Estrutura de tarefas cronometradas (adequada para pequenos projetos) | siga o 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 etapas detalhadas, consulte a seção de front-end correspondente.
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.
O processo detalhado está neste artigo: AgileBoot - Guia passo a passo para executar um projeto full-stack (SpringBoot + Vue3)
Para o pessoal de front-end que deseja experimentar projetos full-stack, aqui está uma maneira mais simples de iniciar o back-end sem configurar Mysql e 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启动类,直接启动即可
? A maioria das funções passou nos testes de unidade e de integração para garantir a qualidade.
Função | descrever | |
---|---|---|
Gerenciamento de usuários | O usuário é o operador do sistema. Esta função completa principalmente a configuração do usuário do sistema. | |
Gestão de departamento | Configurar a organização do sistema (empresa, departamento, grupo), a exibição da estrutura em árvore suporta permissões de dados | |
Gestão de posição | Configure as posições dos usuários do sistema | |
Gerenciamento de cardápio | Configure menus do sistema, permissões de operação, identificadores de permissão de botão, etc., e o cache local fornece desempenho | |
gerenciamento de funções | Alocação de permissões do menu de funções, definição de funções, divisão de permissões de intervalo de dados por organização | |
Gerenciamento de parâmetros | Configure dinamicamente parâmetros comuns para o sistema | |
Avisos e Anúncios | Liberação e manutenção de informações de anúncio de notificação do sistema | |
Registro de operação | Gravação e consulta de log de operação normal do sistema gravação e consulta de log de informações anormais do sistema; | |
Registro de login | A consulta de log de login do sistema contém exceção de login | |
Usuários on-line | Monitoramento ativo do status do usuário no sistema atual | |
Interface do sistema | Gere automaticamente documentos relevantes da interface da API com base no código comercial | |
Monitoramento de serviço | Monitore a CPU, memória, disco, pilha e outras informações relacionadas do sistema atual | |
Monitoramento de cache | Consultar informações de cache do sistema, estatísticas de comando, etc. | |
Monitoramento do pool de conexões | Monitore o status atual do pool de conexões do banco de dados do sistema e analise o SQL para encontrar gargalos de desempenho do 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 -- 应用服务(事务层,操作领域模型类完成业务逻辑)
As solicitações são divididas em duas categorias: uma é consulta e a outra é operação (ou seja, atualização dos dados).
Consulta : Controlador > xxxQuery > xxxApplicationService > xxxService(Db) > xxxMapper
Operação : Controller > xxxCommand > xxxApplicationService > xxxModel (lógica de processamento) > salvar ou atualizar (este projeto usa JPA diretamente para inserir dados atualizados)
Isto se baseia no conceito de desenvolvimento do CQRS, que separa consultas e operações. A implementação comercial de classes de operação baseia-se no conceito de design tático DDD, usando classes de domínio e classes de fábrica para uma lógica de implementação mais orientada a objetos. Se você não se sente confortável com este modelo de desenvolvimento. Você pode desenvolver no módulo de domínio de acordo com o padrão usado anteriormente em Controller->Service->DAO. depende de você.
Suponha que você queira adicionar um novo negócio membro, você pode adicionar pacotes correspondentes nos três módulos a seguir para implementar seu negócio
agileboot
├── agileboot-admin --
│ ├── member -- 会员模块
│
├── agileboot-domain --
├ ├── member -- 会员模块(举例)
├ ├── command -- 命令参数接收模型(命令)
├ ├── dto -- 返回数据类
├ ├── db -- DB操作类
├ ├── entity -- 实体类
├ ├── service -- DB Service
├ ├── mapper -- DB Dao
├ ├── model -- 领域模型类
├ ├── query -- 查询参数模型(查询)
│ ├────── MemberApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
└─
Grupo QQ: Clique no botão para ingressar no grupo.
Se você acha que este projeto é útil para você, você pode fazer uma pequena doação para apoiar o servidor do site de demonstração do projeto e outras despesas ~