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 | الإطار الأساسي لمشاريع جافا | 2.7 |
druid | تجمع اتصال قاعدة بيانات علي بابا | 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-جيري |
junit | اختبار الوحدة | 1.10.19 |
h2 | قاعدة بيانات في الذاكرة | 1.10.19 |
jackson | إطار عمل Json أكثر أمانًا | اتبع Springboot |
knife4j | إطار توثيق الواجهة | 3.0.3 |
Spring Task | إطار عمل محدد بوقت (مناسب للمشاريع الصغيرة) | اتبع 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. 当出现以下字样即为启动成功
____ _ _ __ _ _
/ ___| | |_ __ _ _ __ | |_ _ _ _ __ ___ _ _ ___ ___ ___ ___ ___ / _| _ _ | || |
___ | __|/ _` || '__|| __| | | | || '_ / __|| | | | / __|/ __|/ _ / __|/ __|| |_ | | | || || |
___) || |_| (_| || | | |_ | |_| || |_) | __ | |_| || (__| (__| __/__ \__ | _|| |_| || ||_|
|____/ __|__,_||_| __| __,_|| .__/ |___/ __,_| ___|___|___||___/|___/|_| __,_||_|(_)
|_|
للحصول على الخطوات التفصيلية، يرجى مراجعة قسم الواجهة الأمامية المقابل.
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 ذات الصلة تلقائيًا استنادًا إلى رمز العمل | |
| مراقبة الخدمة | مراقبة وحدة المعالجة المركزية للنظام الحالي والذاكرة والقرص والمكدس والمعلومات الأخرى ذات الصلة | |
| مراقبة ذاكرة التخزين المؤقت | الاستعلام عن معلومات ذاكرة التخزين المؤقت للنظام وإحصائيات الأوامر وما إلى ذلك. | |
| مراقبة تجمع الاتصال | مراقبة حالة تجمع اتصال قاعدة بيانات النظام الحالية وتحليل 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
العملية : وحدة التحكم > xxxCommand > xxxApplicationService > xxxModel (منطق المعالجة) > الحفظ أو التحديث (يستخدم هذا المشروع JPA مباشرة لإدراج البيانات المحدثة)
ويعتمد ذلك على مفهوم تطوير CQRS، الذي يفصل بين الاستعلامات والعمليات. يعتمد تنفيذ الأعمال لفئات العمليات على مفهوم التصميم التكتيكي DDD، وذلك باستخدام فئات المجال وفئات المصنع لمزيد من منطق التنفيذ الموجه للكائنات. إذا لم تكن مرتاحًا لنموذج التطوير هذا. يمكنك التطوير في وحدة المجال وفقًا للنمط الذي استخدمته من قبل من وحدة التحكم->الخدمة->DAO. الأمر متروك لك.
لنفترض أنك تريد إضافة أعمال عضو جديد، يمكنك إضافة الحزم المقابلة في الوحدات الثلاث التالية لتنفيذ أعمالك
agileboot
├── agileboot-admin --
│ ├── member -- 会员模块
│
├── agileboot-domain --
├ ├── member -- 会员模块(举例)
├ ├── command -- 命令参数接收模型(命令)
├ ├── dto -- 返回数据类
├ ├── db -- DB操作类
├ ├── entity -- 实体类
├ ├── service -- DB Service
├ ├── mapper -- DB Dao
├ ├── model -- 领域模型类
├ ├── query -- 查询参数模型(查询)
│ ├────── MemberApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
└─
مجموعة QQ: انقر فوق الزر للانضمام إلى المجموعة.
إذا كنت تعتقد أن هذا المشروع مفيد لك، يمكنك تقديم تبرع صغير لدعم خادم الموقع التجريبي للمشروع ونفقات أخرى ~