Co-Pilot
Updated 24 days ago

skills-java-spring

Mmduongvandinh
0.0k
mduongvandinh/skills-java-spring
76
Agent Score

πŸ’‘ Summary

A comprehensive skill set for building Java Spring Boot applications, catering to both monolithic and microservices architectures.

🎯 Target Audience

Java developers looking for Spring Boot solutionsStartups needing rapid MVP developmentTeams transitioning to microservices architectureDevOps engineers managing containerized applicationsSoftware architects designing scalable systems

πŸ€– AI Roast: β€œPowerful, but the setup might scare off the impatient.”

Security AnalysisMedium Risk

Risk: Medium. Review: shell/CLI command execution; outbound network access (SSRF, data egress). Run with least privilege and audit before enabling in production.

Java Spring Boot Skill Sets

Bα»™ skill tα»•ng hợp cho AI Coding Assistants, giΓΊp tαΊ‘o ra code Java Spring Boot chαΊ₯t lượng cao.

Tα»•ng quan

| Skill Set | MΓ΄ tαΊ£ | PhΓΉ hợp vα»›i | |-----------|-------|-------------| | java-spring-skills | Monolithic application | Team nhỏ, MVP, CRUD apps | | java-spring-microservices | Microservices architecture | Team lα»›n, scaling Δ‘α»™c lαΊ­p |

Chọn bα»™ skill nΓ o?

BαΊ£ng so sΓ‘nh nhanh

| TiΓͺu chΓ­ | java-spring-skills | java-spring-microservices | |----------|:------------------:|:-------------------------:| | Team size | 1-5 developers | > 5 developers | | Infrastructure | VM / Simple hosting | Kubernetes / Docker Swarm | | DevOps maturity | Basic CI/CD | Advanced (K8s, Service Mesh) | | Database | Single DB | DB per service | | Message Queue | Optional | Required (Kafka) | | Monitoring | Basic (Actuator) | Distributed tracing | | Deploy complexity | 1 artifact | Multiple services | | Development speed | Nhanh hΖ‘n ban Δ‘αΊ§u | ChαΊ­m hΖ‘n ban Δ‘αΊ§u | | Scaling | Vertical (scale cαΊ£ app) | Horizontal (scale tα»«ng service) | | Cost | ThαΊ₯p | Cao hΖ‘n |

Decision Flowchart

                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚  ĐÑnh giΓ‘ dα»± Γ‘n cα»§a bαΊ‘n β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                     β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚                            β”‚                            β”‚
        β–Ό                            β–Ό                            β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”          β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   TEAM SIZE   β”‚          β”‚ INFRASTRUCTURE  β”‚          β”‚   REQUIREMENTS  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€          β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€          β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ > 5 devs?     β”‚          β”‚ CΓ³ K8s/Docker   β”‚          β”‚ Scale Δ‘α»™c lαΊ­p?  β”‚
β”‚ Multi-team?   β”‚          β”‚ Swarm?          β”‚          β”‚ Fault isolation?β”‚
β”‚ Độc lαΊ­p deployβ”‚          β”‚ CΓ³ Kafka?       β”‚          β”‚ Multi-domain?   β”‚
β”‚ tα»«ng team?    β”‚          β”‚ DevOps mature?  β”‚          β”‚ High traffic?   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜          β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜          β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                           β”‚                            β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚                               β”‚
                    β–Ό                               β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚   β‰₯ 2 cΓ’u trαΊ£ lời   β”‚         β”‚   < 2 cΓ’u trαΊ£ lời   β”‚
        β”‚       lΓ  YES        β”‚         β”‚       lΓ  YES        β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚                               β”‚
                   β–Ό                               β–Ό
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚ java-spring-        β”‚         β”‚ java-spring-skills  β”‚
        β”‚ microservices       β”‚         β”‚    (Monolithic)     β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

DΓΉng java-spring-skills khi:

Team & Organization:

  • Team 1-5 developers
  • Single team ownership
  • Startup giai Δ‘oαΊ‘n Δ‘αΊ§u, MVP

Infrastructure:

  • Deploy trΓͺn VM hoαΊ·c simple hosting
  • ChΖ°a cΓ³ Kubernetes/Docker orchestration
  • ChΖ°a cΓ³ message queue (Kafka/RabbitMQ)
  • DevOps team nhỏ hoαΊ·c chΖ°a cΓ³

Requirements:

  • CRUD application
  • Traffic vα»«a phαΊ£i
  • KhΓ΄ng cαΊ§n scale tα»«ng module riΓͺng
  • Muα»‘n time-to-market nhanh

DΓΉng java-spring-microservices khi:

Team & Organization:

  • Team > 5 developers
  • Multiple teams, mα»—i team own 1-2 services
  • CαΊ§n deploy Δ‘α»™c lαΊ­p giα»―a cΓ‘c team

Infrastructure:

  • Đã cΓ³ Kubernetes hoαΊ·c Docker Swarm
  • Đã cΓ³ Kafka/message queue
  • CΓ³ DevOps team vα»›i experience về container orchestration
  • CΓ³ budget cho infrastructure phα»©c tαΊ‘p hΖ‘n

Requirements:

  • High traffic, cαΊ§n scale horizontal
  • Fault isolation (1 service fail khΓ΄ng αΊ£nh hưởng cαΊ£ hệ thα»‘ng)
  • Multiple domains vα»›i business logic phα»©c tαΊ‘p
  • Polyglot persistence (mα»—i service cΓ³ thể dΓΉng DB khΓ‘c nhau)

java-spring-skills (Monolithic)

java-spring-skills/
β”œβ”€β”€ src/main/java/com/company/app/
β”‚   β”œβ”€β”€ domain/           # Entities, Repositories
β”‚   β”œβ”€β”€ application/      # Services, DTOs
β”‚   β”œβ”€β”€ infrastructure/   # JPA, External APIs
β”‚   └── interfaces/       # Controllers
β”œβ”€β”€ src/test/             # Unit + Integration tests
└── pom.xml               # Maven build

Quick Start

cd java-spring-skills # Build mvn clean compile # Test (18 tests) mvn test # Run mvn spring-boot:run

Tính năng

  • DDD package structure
  • TDD vα»›i Mockito
  • Maven profiles (dev, prod, docker)
  • Optional Docker support
  • Spring Data JPA + Flyway
  • Bean Validation
  • Global Exception Handling

java-spring-microservices

java-spring-microservices/
β”œβ”€β”€ services/                    # Microservices
β”‚   β”œβ”€β”€ user-service/
β”‚   β”œβ”€β”€ order-service/
β”‚   └── gateway-service/
β”œβ”€β”€ shared/                      # Shared Libraries
β”‚   β”œβ”€β”€ common-lib/              # DTOs, Exceptions
β”‚   β”œβ”€β”€ event-lib/               # Domain Events
β”‚   └── api-contracts/           # OpenAPI specs
β”œβ”€β”€ infrastructure/
β”‚   β”œβ”€β”€ docker/                  # Docker Compose
β”‚   └── kubernetes/              # K8s manifests
β”œβ”€β”€ tools/generators/            # Service generator
└── openspec/                    # Specifications

Quick Start

cd java-spring-microservices # 1. Build shared libraries mvn install -pl shared/common-lib,shared/event-lib -DskipTests # 2. Start infrastructure cd infrastructure\docker docker-compose up -d # 3. Create new service cd ..\.. .\tools\generators\new-service.ps1 -Name "product" -Type "core" # 4. Run service cd services\product-service mvn spring-boot:run

Service Types

| Type | MΓ΄ tαΊ£ | Command | |------|-------|---------| | Core | Business logic + DB | new-service.ps1 -Name "x" -Type "core" | | Event | Kafka consumer | new-service.ps1 -Name "x" -Type "event" | | Gateway | API Gateway | Copy tα»« templates | | BFF | Backend for Frontend | new-service.ps1 -Name "x" -Type "bff" |

Architecture

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚   Gateway   β”‚ :8080
                    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
           β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
           β–Ό               β–Ό               β–Ό
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚    User    β”‚  β”‚   Order    β”‚  β”‚  Payment   β”‚
    β”‚  Service   β”‚  β”‚  Service   β”‚  β”‚  Service   β”‚
    β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜
          β”‚               β”‚               β”‚
          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
                    β”Œβ”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”
                    β”‚   Kafka   β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

AI IDE Support

CαΊ£ 2 bα»™ skill đều hα»— trợ cΓ‘c AI IDE:

| IDE | File | |-----|------| | Claude Code | CLAUDE.md | | Cursor | .cursorrules | | Windsurf | .windsurfrules | | GitHub Copilot | .github/copilot-instructions.md | | Continue.dev | .continuerc.json |

OpenSpec (Spec-First Development)

CαΊ£ 2 bα»™ skill đều hα»— trợ OpenSpec - viαΊΏt spec trΖ°α»›c, code sau:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Draft  │───▢│Review/Align │───▢│ Implement │───▢│ Ship │───▢│ Archive β”‚
β”‚proposal β”‚    β”‚  with AI    β”‚    β”‚  tasks    β”‚    β”‚      β”‚    β”‚  specs  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

CαΊ₯u trΓΊc chung:

openspec/
β”œβ”€β”€ specs/           # Source of truth (current state)
└── changes/         # Proposed changes (spec-first)
    └── {feature}/
        β”œβ”€β”€ proposal.md   # WHY - Rationale
        β”œβ”€β”€ tasks.md      # HOW - Checklist
        └── specs/        # WHAT - Delta (ADDED/MODIFIED/REMOVED)

VΓ­ dα»₯ cΓ³ sαΊ΅n:

  • Monolithic: java-spring-skills/openspec/changes/example-user-registration/
  • Microservices: java-spring-microservices/openspec/changes/example-add-inventory-service/

Technology Stack

| Layer | Technology | |-------|------------| | Language | Java 21 | | Framework | Spring Boot 3.2, Spring Cloud 2023 | | Database | PostgreSQL 16 | | Messaging | Apache Kafka (microservices) | | Caching | Redis | | Build | Maven 3.9+ | | Testing | JUnit 5, Mockito | | Container | Docker | | Orchestration | Kubernetes |


YΓͺu cαΊ§u hệ thα»‘ng

  • Java 21+ (Download)
  • Maven 3.9+ (Download)
  • Docker Desktop (Download) - Optional cho monolithic, Required cho microservices

Documentation

java-spring-skills

java-spring-microservices


License

MIT License

5-Dim Analysis
Clarity8/10
Novelty6/10
Utility9/10
Completeness8/10
Maintainability7/10
Pros & Cons

Pros

  • Supports both monolithic and microservices architectures
  • Comprehensive documentation and quick start guides
  • Utilizes modern technologies like Spring Boot and Kafka

Cons

  • Complexity may overwhelm beginners
  • Requires understanding of both monolithic and microservices concepts
  • Dependency on multiple tools and frameworks

Related Skills

pytorch

S
toolCode Lib
92/ 100

β€œIt's the Swiss Army knife of deep learning, but good luck figuring out which of the 47 installation methods is the one that won't break your system.”

agno

S
toolCode Lib
90/ 100

β€œIt promises to be the Kubernetes for agents, but let's see if developers have the patience to learn yet another orchestration layer.”

nuxt-skills

S
toolCo-Pilot
90/ 100

β€œIt's essentially a well-organized cheat sheet that turns your AI assistant into a Nuxt framework parrot.”

Disclaimer: This content is sourced from GitHub open source projects for display and rating purposes only.

Copyright belongs to the original author mduongvandinh.