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과 같은 많은 오픈 소스 프로젝트를 찾았습니다.
마지막으로 이 프로젝트는 Ruoyi 프로젝트를 기반으로 완전히 재구성하고 변형하기로 결정했습니다.
우선 작가 루오이님께 진심으로 감사드립니다. 하지만 Ruoyi 프로젝트에는 결함이 너무 많습니다.
그래서 리팩토링 작업을 많이 했습니다.
기술 | 설명하다 | 버전 |
---|---|---|
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 프레임워크 | 스프링부트 팔로우 |
knife4j | 인터페이스 문서화 프레임워크 | 3.0.3 |
Spring Task | 시간이 지정된 작업 프레임워크(소규모 프로젝트에 적합) | 스프링부트 팔로우 |
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 인터페이스 문서를 자동으로 생성합니다. | |
서비스 모니터링 | 현재 시스템 CPU, 메모리, 디스크, 스택 및 기타 관련 정보를 모니터링합니다. | |
캐시 모니터링 | 시스템 캐시 정보, 명령 통계 등을 쿼리합니다. | |
연결 풀 모니터링 | 현재 시스템 데이터베이스 연결 풀 상태를 모니터링하고 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
작업 : Controller > 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 그룹: 버튼을 클릭하면 그룹에 가입할 수 있습니다.
이 프로젝트가 도움이 되었다고 생각하신다면, 프로젝트의 데모 웹사이트 서버 및 기타 비용을 지원하기 위해 소액을 기부하실 수 있습니다~