AgileBoot adalah platform pengembangan cepat dan efisien full-stack open source yang gratis untuk digunakan oleh individu dan perusahaan tanpa syarat. Tujuan dari proyek ini adalah untuk menciptakan perancah pengembangan kecil yang efisien, andal, memiliki gaya pengkodean yang sangat baik, dan memiliki spesifikasi proyek. Cocok untuk proyek kecil pengembang individu atau proyek internal perusahaan. Ini juga dapat digunakan sebagai pembelajaran bagi pemula.
Versi V1.0.0 dikembangkan menggunakan JS, dan versi V2.0.0 dikembangkan menggunakan TS .
Alamat V1.0.0: Backend (AgileBoot-Back-End-Basic) - Frontend (AgileBoot-Front-End-Basic)
Jika Anda memiliki pertanyaan atau saran, Anda dapat menyampaikannya kepada penulis di Masalah .
Masalah Anda lebih penting daripada Bintang
Jika menurut Anda proyek ini bermanfaat bagi Anda, Anda dapat memberinya Bintang
Alamat demo:
Kata sandi akun: admin/admin123
Saya ingin mengerjakan beberapa proyek pribadi kecil di waktu luang saya. Awalnya saya mencari banyak proyek open source seperti Ruoyi / Jeecg / ElAdmin / RenRen-Fast / Guns / EAdmin.
Akhirnya, proyek ini memilih untuk merekonstruksi dan mentransformasikan sepenuhnya berdasarkan proyek Ruoyi.
Pertama-tama, terima kasih banyak kepada penulis Ruoyi. Namun proyek Ruoyi memiliki banyak kekurangan.
Jadi saya melakukan banyak pekerjaan refactoring.
teknologi | menjelaskan | Versi |
---|---|---|
springboot | Kerangka kerja penting untuk proyek Java | 2.7 |
druid | kumpulan koneksi basis data Alibaba | 1.2.8 |
springdoc | Pembuatan dokumen | 3.0.0 |
mybatis-plus | kerangka basis data | 3.5.2 |
hutool | Kit perkakas rumah tangga (sederhana dan mudah digunakan) | 3.5.2 |
mockito | Simulasi pengujian unit | 1.10.19 |
guava | Toolkit Google (menyediakan implementasi cache sederhana) | 31.0.1-jre |
junit | Pengujian satuan | 1.10.19 |
h2 | Basis data dalam memori | 1.10.19 |
jackson | Kerangka kerja JSON yang lebih aman | ikuti springboot |
knife4j | Kerangka dokumentasi antarmuka | 3.0.3 |
Spring Task | Kerangka tugas berjangka waktu (cocok untuk proyek kecil) | ikuti 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. 当出现以下字样即为启动成功
____ _ _ __ _ _
/ ___| | |_ __ _ _ __ | |_ _ _ _ __ ___ _ _ ___ ___ ___ ___ ___ / _| _ _ | || |
___ | __|/ _` || '__|| __| | | | || '_ / __|| | | | / __|/ __|/ _ / __|/ __|| |_ | | | || || |
___) || |_| (_| || | | |_ | |_| || |_) | __ | |_| || (__| (__| __/__ \__ | _|| |_| || ||_|
|____/ __|__,_||_| __| __,_|| .__/ |___/ __,_| ___|___|___||___/|___/|_| __,_||_|(_)
|_|
Untuk langkah-langkah terperinci, silakan lihat bagian front-end yang sesuai.
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.
Proses detailnya ada di artikel ini: AgileBoot - Panduan langkah demi langkah untuk menjalankan proyek full-stack (SpringBoot+Vue3)
Untuk personel front-end yang ingin mencoba proyek full-stack, berikut adalah cara yang lebih sederhana untuk memulai back-end tanpa mengonfigurasi Mysql dan 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启动类,直接启动即可
? Sebagian besar fungsi telah lulus pengujian unit dan pengujian integrasi untuk memastikan kualitas.
Fungsi | menggambarkan | |
---|---|---|
Manajemen pengguna | Pengguna adalah operator sistem. Fungsi ini terutama melengkapi konfigurasi pengguna sistem. | |
Manajemen departemen | Konfigurasikan organisasi sistem (perusahaan, departemen, grup), tampilan struktur pohon mendukung izin data | |
Manajemen posisi | Konfigurasikan posisi pengguna sistem | |
Manajemen menu | Konfigurasikan menu sistem, izin operasi, pengidentifikasi izin tombol, dll., dan cache lokal memberikan kinerja | |
manajemen peran | Alokasi izin menu peran, pengaturan peran, membagi izin rentang data berdasarkan organisasi | |
Manajemen parameter | Konfigurasikan parameter umum untuk sistem secara dinamis | |
Pemberitahuan dan Pengumuman | Rilis dan pemeliharaan informasi pengumuman pemberitahuan sistem | |
Catatan operasi | Perekaman dan kueri log operasi normal sistem; perekaman dan kueri log informasi abnormal sistem | |
Catatan masuk | Kueri log login sistem berisi pengecualian login | |
Pengguna daring | Pemantauan status pengguna aktif di sistem saat ini | |
Antarmuka sistem | Secara otomatis menghasilkan dokumen antarmuka API yang relevan berdasarkan kode bisnis | |
Pemantauan layanan | Pantau CPU sistem saat ini, memori, disk, tumpukan, dan informasi terkait lainnya | |
Pemantauan cache | Informasi cache sistem kueri, statistik perintah, dll. | |
Pemantauan kumpulan koneksi | Pantau status kumpulan koneksi database sistem saat ini dan analisis SQL untuk menemukan hambatan kinerja sistem |
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 -- 应用服务(事务层,操作领域模型类完成业务逻辑)
Permintaan dibagi menjadi dua kategori: satu adalah kueri, dan yang lainnya adalah operasi (yaitu, memperbarui data).
Kueri : Pengontrol > xxxQuery > xxxApplicationService > xxxService(Db) > xxxMapper
Operasi : Controller > xxxCommand > xxxApplicationService > xxxModel (logika pemrosesan) > simpan atau perbarui (proyek ini langsung menggunakan JPA untuk memasukkan data yang diperbarui)
Hal ini didasarkan pada konsep pengembangan CQRS, yang memisahkan kueri dan operasi. Implementasi bisnis kelas operasi mengacu pada konsep desain taktis DDD, menggunakan kelas domain dan kelas pabrik untuk logika implementasi yang lebih berorientasi objek. Jika Anda merasa tidak nyaman dengan model pengembangan ini. Anda dapat mengembangkan modul domain sesuai dengan pola yang Anda gunakan sebelumnya dari Controller->Service->DAO. itu terserah kamu.
Misalkan Anda ingin menambahkan bisnis anggota baru, Anda dapat menambahkan paket yang sesuai dalam tiga modul berikut untuk mengimplementasikan bisnis Anda
agileboot
├── agileboot-admin --
│ ├── member -- 会员模块
│
├── agileboot-domain --
├ ├── member -- 会员模块(举例)
├ ├── command -- 命令参数接收模型(命令)
├ ├── dto -- 返回数据类
├ ├── db -- DB操作类
├ ├── entity -- 实体类
├ ├── service -- DB Service
├ ├── mapper -- DB Dao
├ ├── model -- 领域模型类
├ ├── query -- 查询参数模型(查询)
│ ├────── MemberApplicationService -- 应用服务(事务层,操作领域模型类完成业务逻辑)
└─
Grup QQ: Klik tombol untuk bergabung dengan grup.
Jika menurut Anda proyek ini bermanfaat bagi Anda, Anda dapat memberikan sumbangan kecil untuk mendukung server situs web demo proyek dan biaya lainnya~