Seezoon Stack vise un développement rapide et fait certains compromis en termes de vitesse de développement et de structure du code. Dans tous les cas, vous verrez une utilisation très authentique des frameworks de développement Java courants. Ce projet adopte un cadre de développement traditionnel, et le packaging, la compilation et le déploiement sont tous réalisés conformément aux normes des grandes entreprises et améliorés continuellement et progressivement.
Documentation détaillée et adresse de démonstration : https://doc.stack.seezoon.com
Compte : administrateur
Mot de passe : 123456 Le serveur Alibaba Cloud actuel a expiré, le document est accessible, mais le système est temporairement inaccessible.
Quelques rendus :
Seezoon Stack est complété par les piles technologiques front-end et back-end les plus avancées.
Cadre de base principal :
Nom du cadre | adresse de trame | illustrer |
---|---|---|
Botte de printemps | https://spring.io/projects/spring-boot | assemblage automatique |
Redis des données de la session de printemps | https://spring.io/projects/spring-session-data-redis | Gestion du statut de connexion |
Sécurité du printemps | https://spring.io/projects/spring-security | Contrôle de connexion et d’autorisation |
Mybatis | https://mybatis.org/mybatis-3/zh/index.html | couche de persistance |
Springfox | https://github.com/springfox/springfox | documentation openAPI 3 |
X-Trace-Id
à l'en-tête de retour et enterrez l'ID du thread dans le journal via MDC
;Fonctionnalités de priorité inférieure (TODO) :
Framework front-end principal :
Nom du cadre | adresse de trame | illustrer |
---|---|---|
Vue 3 | https://v3.cn.vuejs.org/guide/introduction.html | Liaison bidirectionnelle |
Vite | https://cn.vitejs.dev/ | Construire des outils |
Conception de fourmis Vue 2 | https://2x.antdv.com/components/overview-cn/ | composants |
TypeScript 4 | https://www.typescriptlang.org/zh/ | Surensemble JavaScript |
WindiCss | https://windicss.org/guide/ | classe d'assistance CSS |
Iconifier | https://iconify.design/ | Bibliothèque d'icônes |
Le framework front-end forge Vue vben admin 2.0 et les fonctionnalités en amont seront fusionnées régulièrement. Pour des composants spécifiques, veuillez vous référer à la documentation de l'administrateur Vben. Je tiens également à remercier l'administrateur de Vben pour son aide dans ce projet.
Le front-end utilise principalement Ant Design Vue 2 comme bibliothèque de composants principale pour réduire les coûts d'apprentissage. Le framework principal est TypeScript et les fonctions métier sont écrites en JavaScript. Pour un développement rapide, la quantité de code JavaScript est relativement concise et rapide.
npm install -g yarn
)Téléchargement de codes
Il peut être importé via IDEA File->New->Project From Version Control
, ou il peut être téléchargé et importé via la commande.
Il est recommandé de se connecter à votre propre entrepôt, puis de l'importer pour faciliter les mises à jour de synchronisation ultérieures.
git clone https://github.com/734839030/seezoon-stack.git
structure d'ingénierie
```
.
└── 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
```
Initialiser le script de base de données
Pour le script, voir db/seezoon-stack.sql
Configurer le serveur seezoon-admin
Configurez le compte et le mot de passe DB et Redis dans le fichier de configuration suivant
seezoon-admin-server/src/main/resources/application-local.properties
Démarrer l'arrière-plan dans IDEA
Exécutez la méthode Main dans la classe suivante (si une erreur de dépendance est signalée, vous pouvez exécuter le package mvn du projet parent)
seezoon-admin-server/src/main/java/com/seezoon/admin/AdminMain.java
Installez les dépendances et démarrez
cd seezoon-stack/seezoon-admin-web
yarn install
yarn serve
# 访问地址
http://localhost:3100/
Serveur de fichiers de test local (facultatif)
cd seezoon-admin-web/test/server/upload
yarn install
yarn start
# 管理端上传文件后,可以直接访问地址static目录静态文件
http://localhost:3001/static/xxxx
Structure d'annuaire en ligne,
/data/
│── cert
├── seezoon-admin-server # 后台产出物
│ ├── bin
│ ├── conf
│ ├── logs
│ └── work
├── seezoon-admin-web # 前端产出物
│ ├── assets
│ └── resource
└── upload-server 文件上传目录,默认使用磁盘文件,使用OSS则不需要.
Installez Java 1.8+ dans l'environnement en ligne, 11 est recommandé.
L'utilisation de maven-assembly-plugin pour générer des constructions peut générer directement la structure de répertoires pour le déploiement en production, ce qui facilite l'intégration DevOps.
cd seezoon-admin-server
mvn clean package
Catalogue de sortie
seezoon-admin-server/target/seezoon-admin-server
Il vous suffit de conserver application.properties
dans le répertoire de sortie conf
, puis vous pourrez le publier.
Le fichier de configuration est séparé de l'environnement. Le
jar
de sortie du packagemaven-jar-plugin
déchargera les fichiers suivants dans le répertoireresources
:
application-local.properties
logback-spring.xml
Si cela ne vous dérange pas que toutes les configurations d'environnement soient dans le projet, c'est très pratique. Utilisez
--spring.profiles.active
fourni par Spring Boot et sélectionnez le fichier de configuration dans la commande de démarrage.
cd seezoon-admin-web
yarn build
sortir
Publiez simplement les fichiers dans seezoon-admin-web/dist
dans le répertoire nginx en ligne. La configuration nginx de ce projet est la suivante, pour référence uniquement.
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;
}
}
La configuration facultative de compression des ressources statiques est placée sous le nœud
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].";
Vous êtes les bienvenus à nous rejoindre ! Soulevez un problème ou soumettez une demande de tirage.
Demande de tirage :
git checkout -b feat/xxxx
git commit -m 'feat(function): add xxxxx'
git push origin feat/xxxx
pull request
Spécification de référence (angulaire)
- `feat` 增加新功能
- `fix` 修复问题/BUG
- `style` 代码风格相关无影响运行结果的
- `perf` 优化/性能提升
- `refactor` 重构
- `revert` 撤销修改
- `test` 测试相关
- `docs` 文档/注释
- `chore` 依赖更新/脚手架配置修改等
- `workflow` 工作流改进
- `ci` 持续集成
- `types` 类型定义文件更改
- `wip` 开发中