Maven Build Maven Quality Gate Status codecov.io License Average time to resolve an issue Percentage of issues still open

rose

Requirements

  • Java 8+
  • Maven 3.6.0+

Features

Tech stack Version Latest Version Notes
Spring Boot 2.7.18
Spring Cloud 2021.0.9
Spring Cloud Alibaba 2021.0.6.2
Spring Authorization 0.4.5
Spring Boot Admin 2.7.16
MyBatis Plus 3.5.12
SpringDoc OpenAPI 1.8.0
Nacos 2.5.1

Instructions

Build

Build

mvn clean package

Test

mvn clean verify

Site

Upload sites to gitHub pages:

mvn clean site site:stage scm-publish:publish-scm 

Release

Update Release version:

mvn versions:set -DprocessAllModules=true -DgenerateBackupPoms=false -DnewVersion=0.0.1

Publish to Central:

mvn -DskipTests -Prelease deploy

Sonar

mvn verify -Pcoverage javadoc:javadoc
mvn sonar:sonar -Dsonar.token=$SONAR_TOKEN

Integrations

spring-boot-microservice-best-practices: https://github.com/abhisheksr01/spring-boot-microservice-best-practices

  1. Testing
  • Unit Test
  • Cucumber End-to-End Test
  • Mutation Testing: Pitest
  • Local Testing
  1. Development Accelerators
  • Lombok
  • WireMock
  • TestContainer
  1. Analysis and Quality Checks
  • Checkstyle
  • Jacoco
  • Hadolint
  1. API Documentation
  • SpringDoc
  • Yapi
  1. DevSecOps
  • Dependency Vulnerability Check - owasp
  • Docker Image Vulnerability Check- Trivy
  • Infrastructure as Code static analysis - Snyk
  • Penetration Test - Pentest
  1. CICD
  • CircleCI
  • Concourse
  • Jenkins
  1. Platforms
  • Kubernetes
  1. Versioning
  • Cocogitto
  1. Branch
  • GitFlow
  • GitHub Flow
  • GitLab Flow

  • [ ] 使用 Redis + Lua 基于令牌桶实现限流
  • [ ] 通过分布式事务 Seata 保证告警、整改和任务的状态一致性
  • [ ] 使用 Spring Security OAuth2 实现用户认证和授权
  • [ ] 使用限流 + 队列保证回调接口(供三方系统使用的)的可靠性,使用 Redis + MySQL 实现去重
  • [ ] 使用 AOP + Redis 防止重复提交
  • [ ] 使用 SkyWalking + Prometheus + Grafana 监控服务
  • [ ] 使用 Sentinel + OpenFeign 实现熔断、降级、限流

Preference