AgileBoot ist eine optimierte und schnelle Open-Source-Full-Stack-Entwicklungsplattform, die Einzelpersonen und Unternehmen vorbehaltlos nutzen kann. Das Ziel dieses Projekts besteht darin, ein kleines Entwicklungsgerüst zu schaffen, das rationalisiert und zuverlässig ist, einen hervorragenden Codierungsstil aufweist und über Projektspezifikationen verfügt. Geeignet für kleine Projekte einzelner Entwickler oder unternehmensinterne Projekte. Es kann auch als Lernkoffer für Einsteiger verwendet werden.
Die Version V1.0.0 wird mit JS entwickelt, und die Version V2.0.0 wird mit TS entwickelt .
V1.0.0-Adresse: Backend (AgileBoot-Back-End-Basic) – Frontend (AgileBoot-Front-End-Basic)
Wenn Sie Fragen oder Anregungen haben, können Sie diese unter „Probleme“ an den Autor senden.
Ihr Anliegen ist wichtiger als Star
Wenn Sie glauben, dass das Projekt für Sie hilfreich ist, können Sie ihm einen Stern geben
Demo-Adresse:
Kontopasswort: admin/admin123
Ich wollte in meiner Freizeit einige kleine persönliche Projekte machen. Zuerst suchte ich nach vielen Open-Source-Projekten wie Ruoyi / Jeecg / ElAdmin / RenRen-Fast / Guns / EAdmin
Schließlich entschied sich dieses Projekt für eine vollständige Rekonstruktion und Umgestaltung auf der Grundlage des Ruoyi-Projekts.
Zunächst einmal vielen Dank an den Autor Ruoyi. Aber das Ruoyi-Projekt weist zu viele Mängel auf.
Also habe ich viel Refactoring-Arbeit durchgeführt.
Technologie | veranschaulichen | Version |
---|---|---|
springboot | Wesentliches Framework für Java-Projekte | 2.7 |
druid | Alibaba-Datenbankverbindungspool | 1.2.8 |
springdoc | Dokumentenerstellung | 3.0.0 |
mybatis-plus | Datenbank-Framework | 3.5.2 |
hutool | Haushaltswerkzeugsatz (einfach und leicht zu verwenden) | 3.5.2 |
mockito | Unit-Test-Simulation | 1.10.19 |
guava | Google Toolkit (bereitstellt eine einfache Cache-Implementierung) | 31.0.1-jre |
junit | Unit-Tests | 1.10.19 |
h2 | In-Memory-Datenbank | 1.10.19 |
jackson | Ein sichereres Json-Framework | Folge Springboot |
knife4j | Framework zur Schnittstellendokumentation | 3.0.3 |
Spring Task | Zeitgesteuerter Aufgabenrahmen (geeignet für kleine Projekte) | Folge 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. 当出现以下字样即为启动成功
____ _ _ __ _ _
/ ___| | |_ __ _ _ __ | |_ _ _ _ __ ___ _ _ ___ ___ ___ ___ ___ / _| _ _ | || |
___ | __|/ _` || '__|| __| | | | || '_ / __|| | | | / __|/ __|/ _ / __|/ __|| |_ | | | || || |
___) || |_| (_| || | | |_ | |_| || |_) | __ | |_| || (__| (__| __/__ \__ | _|| |_| || ||_|
|____/ __|__,_||_| __| __,_|| .__/ |___/ __,_| ___|___|___||___/|___/|_| __,_||_|(_)
|_|
Detaillierte Schritte finden Sie im entsprechenden Frontend-Abschnitt.
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.
Der detaillierte Prozess finden Sie in diesem Artikel: AgileBoot – Schritt-für-Schritt-Anleitung zum Ausführen eines Full-Stack-Projekts (SpringBoot+Vue3)
Für Front-End-Mitarbeiter, die Full-Stack-Projekte ausprobieren möchten, gibt es hier eine einfachere Möglichkeit, das Back-End zu starten, ohne MySQL und Redis zu konfigurieren.
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启动类,直接启动即可
? Die meisten Funktionen haben Unit-Tests und Integrationstests bestanden, um die Qualität sicherzustellen.
Funktion | beschreiben | |
---|---|---|
Benutzerverwaltung | Der Benutzer ist der Systembetreiber. Diese Funktion vervollständigt hauptsächlich die Systembenutzerkonfiguration. | |
Abteilungsleitung | Konfigurieren Sie die Systemorganisation (Unternehmen, Abteilung, Gruppe). Die Anzeige der Baumstruktur unterstützt Datenberechtigungen | |
Positionsmanagement | Konfigurieren Sie die Positionen der Systembenutzer | |
Menüverwaltung | Konfigurieren Sie Systemmenüs, Betriebsberechtigungen, Berechtigungskennungen für Schaltflächen usw., und der lokale Cache sorgt für Leistung | |
Rollenmanagement | Rollenmenü-Berechtigungszuweisung, Festlegen von Rollen, Aufteilen von Datenbereichsberechtigungen nach Organisation | |
Parameterverwaltung | Konfigurieren Sie allgemeine Parameter für das System dynamisch | |
Mitteilungen und Ankündigungen | Veröffentlichung und Wartung von Informationen zur Ankündigung von Systembenachrichtigungen | |
Betriebsprotokoll | Aufzeichnung und Abfrage des Normalbetriebsprotokolls des Systems; Aufzeichnung und Abfrage des Systemprotokolls für abnormale Informationen | |
Anmeldeprotokoll | Die Abfrage des System-Anmeldeprotokolls enthält eine Anmeldeausnahme | |
Online-Benutzer | Aktive Benutzerstatusüberwachung im aktuellen System | |
Systemschnittstelle | Generieren Sie automatisch relevante API-Schnittstellendokumente basierend auf Geschäftscode | |
Serviceüberwachung | Überwachen Sie die aktuelle System-CPU, den Speicher, die Festplatte, den Stapel und andere zugehörige Informationen | |
Cache-Überwachung | Fragen Sie System-Cache-Informationen, Befehlsstatistiken usw. ab. | |
Überwachung des Verbindungspools | Überwachen Sie den aktuellen Status des Datenbankverbindungspools des Systems und analysieren Sie SQL, um Engpässe bei der Systemleistung zu finden |
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 -- 应用服务(事务层,操作领域模型类完成业务逻辑)
Anforderungen werden in zwei Kategorien unterteilt: eine ist eine Abfrage und die andere ist eine Operation (d. h. die Aktualisierung der Daten).
Abfrage : Controller > xxxQuery > xxxApplicationService > xxxService(Db) > xxxMapper
Operation : Controller > xxxCommand > xxxApplicationService > xxxModel (Verarbeitungslogik) > Speichern oder Aktualisieren (dieses Projekt verwendet JPA direkt, um aktualisierte Daten einzufügen)
Dies basiert auf dem Entwicklungskonzept von CQRS, das Abfragen und Operationen trennt. Die Geschäftsimplementierung von Operationsklassen basiert auf dem Konzept des taktischen DDD-Designs und verwendet Domänenklassen und Factory-Klassen für eine objektorientiertere Implementierungslogik. Wenn Sie mit diesem Entwicklungsmodell nicht vertraut sind. Sie können im Domänenmodul nach dem Muster entwickeln, das Sie zuvor von Controller->Service->DAO verwendet haben. es liegt an dir.
Angenommen, Sie möchten ein neues Mitgliedsunternehmen hinzufügen, können Sie in den folgenden drei Modulen entsprechende Pakete hinzufügen, um Ihr Unternehmen zu implementieren
agileboot
├── agileboot-admin --
│ ├── member -- 会员模块
│
├── agileboot-domain --
├ ├── member -- 会员模块(举例)
├ ├── command -- 命令参数接收模型(命令)
├ ├── dto -- 返回数据类
├ ├── db -- DB操作类
├ ├── entity -- 实体类
├ ├── service -- DB Service
├ ├── mapper -- DB Dao
├ ├── model -- 领域模型类
├ ├── query -- 查询参数模型(查询)
│ ├────── MemberApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
└─
QQ-Gruppe: Klicken Sie auf die Schaltfläche, um der Gruppe beizutreten.
Wenn Sie der Meinung sind, dass dieses Projekt für Sie hilfreich ist, können Sie eine kleine Spende leisten, um den Demo-Website-Server des Projekts und andere Ausgaben zu finanzieren~