AgileBoot est une plate-forme de développement open source full-stack rationalisée et rapide, gratuite et utilisable sans réserve par les particuliers et les entreprises. L'objectif de ce projet est de créer un petit échafaudage de développement rationalisé, fiable, doté d'un excellent style de codage et doté de spécifications de projet. Convient aux petits projets de développeurs individuels ou aux projets internes de l'entreprise. Il peut également être utilisé comme mallette d'apprentissage pour les débutants.
La version V1.0.0 est développée à l'aide de JS et la version V2.0.0 est développée à l'aide de TS .
Adresse V1.0.0 : Backend (AgileBoot-Back-End-Basic) - Frontend (AgileBoot-Front-End-Basic)
Si vous avez des questions ou des suggestions, vous pouvez les soumettre à l'auteur dans Numéros .
Votre problème est plus important que Star
Si vous pensez que le projet vous est utile, vous pouvez lui donner une étoile
Adresse de démonstration :
Mot de passe du compte : admin/admin123
Je voulais faire quelques petits projets personnels pendant mon temps libre. Au début, je cherchais de nombreux projets open source tels que Ruoyi / Jeecg / ElAdmin / RenRen-Fast / Guns / EAdmin.
Finalement, ce projet a choisi de reconstruire et de transformer complètement sur la base du projet Ruoyi.
Tout d'abord, merci beaucoup à l'auteur Ruoyi. Mais le projet Ruoyi présente trop de défauts.
J'ai donc fait beaucoup de travail de refactoring.
technologie | illustrer | Version |
---|---|---|
springboot | Framework essentiel pour les projets Java | 2.7 |
druid | pool de connexion à la base de données Alibaba | 1.2.8 |
springdoc | Génération de documents | 3.0.0 |
mybatis-plus | cadre de base de données | 3.5.2 |
hutool | Trousse à outils domestique (simple et facile à utiliser) | 3.5.2 |
mockito | Simulation de tests unitaires | 1.10.19 |
guava | Boîte à outils Google (fournissant une implémentation simple du cache) | 31.0.1-jre |
junit | Tests unitaires | 1.10.19 |
h2 | Base de données en mémoire | 1.10.19 |
jackson | Un framework Json plus sûr | suivre Springboot |
knife4j | Cadre de documentation de l'interface | 3.0.3 |
Spring Task | Cadre de tâches chronométrées (adapté aux petits projets) | suivre 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. 当出现以下字样即为启动成功
____ _ _ __ _ _
/ ___| | |_ __ _ _ __ | |_ _ _ _ __ ___ _ _ ___ ___ ___ ___ ___ / _| _ _ | || |
___ | __|/ _` || '__|| __| | | | || '_ / __|| | | | / __|/ __|/ _ / __|/ __|| |_ | | | || || |
___) || |_| (_| || | | |_ | |_| || |_) | __ | |_| || (__| (__| __/__ \__ | _|| |_| || ||_|
|____/ __|__,_||_| __| __,_|| .__/ |___/ __,_| ___|___|___||___/|___/|_| __,_||_|(_)
|_|
Pour les étapes détaillées, veuillez consulter la section frontale correspondante.
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.
Le processus détaillé se trouve dans cet article : AgileBoot - Vous guide étape par étape pour exécuter un projet full-stack (SpringBoot+Vue3)
Pour le personnel front-end qui souhaite essayer des projets full-stack, voici un moyen plus simple de démarrer le back-end sans configurer Mysql et 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 plupart des fonctions ont passé avec succès les tests unitaires et les tests d'intégration pour garantir la qualité.
Fonction | décrire | |
---|---|---|
Gestion des utilisateurs | L'utilisateur est l'opérateur du système. Cette fonction complète principalement la configuration de l'utilisateur du système. | |
Gestion du département | Configurer l'organisation du système (entreprise, service, groupe), l'affichage de la structure arborescente prend en charge les autorisations de données | |
Gestion des postes | Configurer les positions des utilisateurs du système | |
Gestion des menus | Configurez les menus système, les autorisations d'opération, les identifiants d'autorisation des boutons, etc., et le cache local offre des performances | |
gestion des rôles | Attribution des autorisations du menu Rôle, définition des rôles, division des autorisations de plage de données par organisation | |
Gestion des paramètres | Configurer dynamiquement les paramètres communs du système | |
Avis et annonces | Publication et maintenance des informations d'annonce de notification du système | |
Journal des opérations | Enregistrement et requête du journal de fonctionnement normal du système ; enregistrement et requête du journal des informations anormales du système ; | |
Journal de connexion | La requête du journal de connexion système contient une exception de connexion | |
Utilisateurs en ligne | Surveillance active du statut des utilisateurs dans le système actuel | |
Interface système | Générez automatiquement des documents d'interface API pertinents en fonction du code métier | |
Surveillance des services | Surveiller le processeur, la mémoire, le disque, la pile et d'autres informations connexes du système actuel | |
Surveillance du cache | Interrogez les informations du cache du système, les statistiques des commandes, etc. | |
Surveillance du pool de connexions | Surveillez l'état actuel du pool de connexions à la base de données du système et analysez SQL pour détecter les goulots d'étranglement des performances du système. |
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 -- 应用服务(事务层,操作领域模型类完成业务逻辑)
Les requêtes sont divisées en deux catégories : l'une est une requête et l'autre est une opération (c'est-à-dire une mise à jour des données).
Requête : Contrôleur > xxxQuery > xxxApplicationService > xxxService(Db) > xxxMapper
Opération : Contrôleur > xxxCommand > xxxApplicationService > xxxModel (logique de traitement) > enregistrer ou mettre à jour (ce projet utilise directement JPA pour insérer les données mises à jour)
Ceci est basé sur le concept de développement de CQRS, qui sépare les requêtes et les opérations. L'implémentation métier des classes d'opérations s'appuie sur le concept de conception tactique DDD, en utilisant des classes de domaine et des classes d'usine pour une logique d'implémentation plus orientée objet. Si vous n'êtes pas à l'aise avec ce modèle de développement. Vous pouvez développer dans le module de domaine selon le modèle que vous avez utilisé auparavant depuis Controller->Service->DAO. c'est à vous de décider.
Supposons que vous souhaitiez ajouter une nouvelle entreprise membre, vous pouvez ajouter les packages correspondants dans les trois modules suivants pour mettre en œuvre votre entreprise
agileboot
├── agileboot-admin --
│ ├── member -- 会员模块
│
├── agileboot-domain --
├ ├── member -- 会员模块(举例)
├ ├── command -- 命令参数接收模型(命令)
├ ├── dto -- 返回数据类
├ ├── db -- DB操作类
├ ├── entity -- 实体类
├ ├── service -- DB Service
├ ├── mapper -- DB Dao
├ ├── model -- 领域模型类
├ ├── query -- 查询参数模型(查询)
│ ├────── MemberApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
└─
Groupe QQ : cliquez sur le bouton pour rejoindre le groupe.
Si vous pensez que ce projet vous est utile, vous pouvez faire un petit don pour soutenir le serveur du site Web de démonstration du projet et d'autres dépenses ~