Seezoon Stack bertujuan untuk pengembangan yang cepat dan memberikan trade-off tertentu dalam kecepatan pengembangan dan struktur kode. Bagaimanapun, Anda akan melihat penggunaan kerangka pengembangan Java umum yang sangat otentik . Proyek ini mengadopsi kerangka pengembangan arus utama, dan pengemasan, kompilasi, dan penerapan semuanya diselesaikan sesuai dengan standar perusahaan besar dan terus ditingkatkan secara bertahap.
Dokumentasi terperinci dan alamat demonstrasi: https://doc.stack.seezoon.com
Akun: admin
Kata sandi: 123456 Server Alibaba Cloud saat ini telah kedaluwarsa, dokumen dapat diakses, namun sistem untuk sementara tidak dapat diakses.
Beberapa rendering:
Seezoon Stack diselesaikan menggunakan tumpukan teknologi front-end dan back-end paling mutakhir.
Kerangka latar belakang utama :
Nama bingkai | alamat bingkai | menjelaskan |
---|---|---|
sepatu bot musim semi | https://spring.io/projects/spring-boot | perakitan otomatis |
Redis Data Sesi Musim Semi | https://spring.io/projects/spring-session-data-redis | Manajemen status masuk |
Keamanan Musim Semi | https://spring.io/projects/spring-security | Kontrol masuk dan izin |
Mybatis | https://mybatis.org/mybatis-3/zh/index.html | lapisan ketekunan |
rubah musim semi | https://github.com/springfox/springfox | dokumentasi openAPI 3 |
X-Trace-Id
ke header pengembalian, dan kubur ID thread di log melalui MDC
;Fitur dengan prioritas lebih rendah (TODO):
Kerangka kerja front-end utama :
Nama bingkai | alamat bingkai | menjelaskan |
---|---|---|
Gambar 3 | https://v3.cn.vuejs.org/guide/introduction.html | Pengikatan dua arah |
Vit | https://cn.vitejs.dev/ | Membangun alat |
Desain Semut Vue 2 | https://2x.antdv.com/components/overview-cn/ | komponen |
Skrip Ketik 4 | https://www.typescriptlang.org/zh/ | superset JavaScript |
WindiCss | https://windicss.org/guide/ | kelas pembantu css |
Ikonifikasi | https://iconify.design/ | Perpustakaan ikon |
Kerangka front-end fork Vue vben admin 2.0, dan fitur upstream akan digabungkan secara berkala. Untuk komponen tertentu, silakan merujuk ke dokumentasi admin Vben. Saya juga ingin mengucapkan terima kasih kepada admin Vben atas bantuannya dalam proyek ini.
Front-end terutama menggunakan Ant Design Vue 2 sebagai pustaka komponen utama untuk mengurangi biaya pembelajaran. Kerangka kerja utamanya adalah TypeScript, dan fungsi bisnis ditulis dalam JavaScript. Untuk pengembangan yang cepat, jumlah kode JavaScript relatif ringkas dan cepat.
npm install -g yarn
)Pengunduhan kode
Itu dapat diimpor melalui IDEA File->New->Project From Version Control
, atau dapat diunduh dan diimpor melalui perintah.
Disarankan untuk melakukan fork ke gudang Anda sendiri dan kemudian mengimpornya untuk memfasilitasi pembaruan sinkronisasi berikutnya.
git clone https://github.com/734839030/seezoon-stack.git
struktur teknik
```
.
└── seezoon-stack parent工程
├── build 构建所需文件
│ ├── assembly 生成产出物结构
│ │ ├── bin 项目脚本
│ │ ├── conf 配置目录
│ │ ├── logs 日志目录
│ │ └── assembly.xml maven assembly 打包插件描述文件(不打包到产出物)
│ ├── build.sh 构建脚本
│ ├── eclipse-codestyle.xml P3C代码格式,可以自行更新
│ ├── maven-settings.xml maven的setting配置(可选)
│ └── mybatis-generator-config.xml 原生mybatis-generator 描述文件(可选)
├── db DB脚本目录
├── doc 项目文档及资料维护目录
├── seezoon-admin-server 管理端服务
├── seezoon-admin-web 后台页面目前fork上游,代码库单独维护稳定后合并
├── seezoon-dao DAO层,方便管理端和C端引用
├── seezoon-framework 管理端和C端通用框架层(基础中间件,参数验证,安全控制)
├── seezoon-generator 通用代码生成器,可以单独使用也可以供其他组件继承使用
└── seezoon-user-server C端服务端TODO
```
Inisialisasi skrip DB
Untuk skripnya, lihat db/seezoon-stack.sql
Konfigurasikan seezoon-admin-server
Konfigurasikan akun DB dan Redis serta kata sandi di file konfigurasi berikut
seezoon-admin-server/src/main/resources/application-local.properties
Mulai latar belakang di IDEA
Jalankan metode Utama di kelas berikut (jika kesalahan ketergantungan dilaporkan, Anda dapat menjalankan paket mvn proyek induk)
seezoon-admin-server/src/main/java/com/seezoon/admin/AdminMain.java
Instal dependensi dan mulai
cd seezoon-stack/seezoon-admin-web
yarn install
yarn serve
# 访问地址
http://localhost:3100/
Server file pengujian lokal (opsional)
cd seezoon-admin-web/test/server/upload
yarn install
yarn start
# 管理端上传文件后,可以直接访问地址static目录静态文件
http://localhost:3001/static/xxxx
Struktur direktori online,
/data/
│── cert
├── seezoon-admin-server # 后台产出物
│ ├── bin
│ ├── conf
│ ├── logs
│ └── work
├── seezoon-admin-web # 前端产出物
│ ├── assets
│ └── resource
└── upload-server 文件上传目录,默认使用磁盘文件,使用OSS则不需要.
Instal Java 1.8+ di lingkungan online, disarankan 11.
Menggunakan maven-assembly-plugin untuk menghasilkan konstruksi dapat secara langsung menghasilkan struktur direktori untuk penerapan produksi, yang memfasilitasi integrasi DevOps.
cd seezoon-admin-server
mvn clean package
Katalog keluaran
seezoon-admin-server/target/seezoon-admin-server
Anda hanya perlu mempertahankan application.properties
di direktori conf
keluaran , dan kemudian Anda dapat mempublikasikannya.
File konfigurasi dipisahkan dari lingkungan.
jar
keluaran paketmaven-jar-plugin
akan mengeluarkan file berikut di direktoriresources
:
application-local.properties
logback-spring.xml
Jika Anda tidak keberatan bahwa semua konfigurasi lingkungan ada dalam proyek, akan sangat mudah. Gunakan
--spring.profiles.active
yang disediakan oleh spring boot dan pilih file konfigurasi di perintah startup.
cd seezoon-admin-web
yarn build
keluaran
Publikasikan saja file di seezoon-admin-web/dist
ke direktori online nginx. Konfigurasi nginx proyek ini adalah sebagai berikut, untuk referensi saja.
upstream seezoon-admin-server {
server 127.0.0.1:8080 max_fails=3 fail_timeout=10s;
}
server {
listen 80;
server_name stack.seezoon.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
listen 443;
server_name stack.seezoon.com;
ssl on;
ssl_certificate /data/cert/stack.seezoon.com.pem;
ssl_certificate_key /data/cert/stack.seezoon.com.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
# api
location ^~ /api/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://seezoon-admin-server/;
}
# 文件服务
location ^~ /file/ {
access_log off;
alias /data/upload-server/;
}
# 静态资源
location / {
access_log off;
root /data/seezoon-admin-web/;
index index.html index.htm;
}
}
Konfigurasi kompresi sumber daya statis opsional ditempatkan di bawah node
nginx.conf http
.
# 打开gzip 效果更佳
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6].";
Anda dipersilakan untuk bergabung dengan kami! Ajukan Masalah atau kirimkan Permintaan Tarik.
Permintaan Tarik:
git checkout -b feat/xxxx
git commit -m 'feat(function): add xxxxx'
git push origin feat/xxxx
pull request
Spesifikasi referensi (Sudut)
- `feat` 增加新功能
- `fix` 修复问题/BUG
- `style` 代码风格相关无影响运行结果的
- `perf` 优化/性能提升
- `refactor` 重构
- `revert` 撤销修改
- `test` 测试相关
- `docs` 文档/注释
- `chore` 依赖更新/脚手架配置修改等
- `workflow` 工作流改进
- `ci` 持续集成
- `types` 类型定义文件更改
- `wip` 开发中