160 lines
5.8 KiB
YAML
160 lines
5.8 KiB
YAML
# <!-- Powered by BMAD™ Core -->
|
|
name: java-web-project-tmpl
|
|
version: 1.0.0
|
|
title: Java Web Project Template
|
|
description: >-
|
|
Comprehensive template for Java web application projects using Java 21,
|
|
Spring Boot MVC, Maven, and AWS cloud platform. Includes project structure,
|
|
configuration, and deployment templates.
|
|
sections:
|
|
- name: Project Overview
|
|
description: Basic project information and configuration
|
|
fields:
|
|
- project-name: "Java Web Application"
|
|
- project-description: "Modern Java web application with Spring Boot MVC"
|
|
- java-version: "21"
|
|
- spring-boot-version: "3.2.x"
|
|
- maven-version: "3.9.x"
|
|
- aws-region: "us-east-1"
|
|
- aws-environment: "dev"
|
|
|
|
- name: Project Structure
|
|
description: Maven project structure and organization
|
|
fields:
|
|
- group-id: "com.company.project"
|
|
- artifact-id: "java-web-app"
|
|
- version: "1.0.0"
|
|
- packaging: "jar"
|
|
- source-directory: "src/main/java"
|
|
- resources-directory: "src/main/resources"
|
|
- test-directory: "src/test/java"
|
|
- test-resources-directory: "src/test/resources"
|
|
|
|
- name: Dependencies
|
|
description: Maven dependencies and Spring Boot starters
|
|
fields:
|
|
- spring-boot-starter-web: "Spring Boot Web Starter"
|
|
- spring-boot-starter-data-jpa: "Spring Boot Data JPA Starter"
|
|
- spring-boot-starter-security: "Spring Boot Security Starter"
|
|
- spring-boot-starter-thymeleaf: "Spring Boot Thymeleaf Starter"
|
|
- spring-boot-starter-test: "Spring Boot Test Starter"
|
|
- spring-boot-starter-actuator: "Spring Boot Actuator Starter"
|
|
- mysql-connector-java: "MySQL Connector"
|
|
- h2-database: "H2 Database (for testing)"
|
|
|
|
- name: Database Configuration
|
|
description: Database setup and configuration
|
|
fields:
|
|
- database-type: "MySQL"
|
|
- database-host: "localhost"
|
|
- database-port: "3306"
|
|
- database-name: "java_web_app"
|
|
- database-username: "app_user"
|
|
- database-password: "app_password"
|
|
- jpa-hibernate-ddl-auto: "update"
|
|
- jpa-show-sql: "true"
|
|
|
|
- name: Security Configuration
|
|
description: Spring Security setup and configuration
|
|
fields:
|
|
- security-strategy: "Form-based authentication"
|
|
- password-encoding: "BCrypt"
|
|
- session-management: "Stateless"
|
|
- csrf-protection: "Enabled"
|
|
- cors-configuration: "Configured"
|
|
- security-headers: "Configured"
|
|
|
|
- name: AWS Configuration
|
|
description: AWS cloud platform configuration
|
|
fields:
|
|
- aws-region: "us-east-1"
|
|
- aws-vpc-id: "vpc-xxxxxxxxx"
|
|
- aws-subnet-ids: "subnet-xxxxxxxxx,subnet-yyyyyyyyy"
|
|
- aws-security-group: "sg-xxxxxxxxx"
|
|
- aws-rds-instance: "java-web-app-db"
|
|
- aws-s3-bucket: "java-web-app-assets"
|
|
- aws-cloudwatch-log-group: "java-web-app-logs"
|
|
|
|
output-format: markdown
|
|
template-structure: |
|
|
# Java Web Project: {{project-name}}
|
|
|
|
## Project Overview
|
|
- **Project Name**: {{project-name}}
|
|
- **Description**: {{project-description}}
|
|
- **Java Version**: {{java-version}}
|
|
- **Spring Boot Version**: {{spring-boot-version}}
|
|
- **Maven Version**: {{maven-version}}
|
|
- **AWS Region**: {{aws-region}}
|
|
- **AWS Environment**: {{aws-environment}}
|
|
|
|
## Project Structure
|
|
```
|
|
{{artifact-id}}/
|
|
├── src/
|
|
│ ├── main/
|
|
│ │ ├── java/
|
|
│ │ │ └── {{group-id}}/
|
|
│ │ │ ├── {{artifact-id}}/
|
|
│ │ │ │ ├── Application.java
|
|
│ │ │ │ ├── config/
|
|
│ │ │ │ ├── controller/
|
|
│ │ │ │ ├── service/
|
|
│ │ │ │ ├── repository/
|
|
│ │ │ │ ├── entity/
|
|
│ │ │ │ └── security/
|
|
│ │ │ └── resources/
|
|
│ │ │ ├── application.yml
|
|
│ │ │ ├── application-dev.yml
|
|
│ │ │ ├── application-prod.yml
|
|
│ │ │ └── static/
|
|
│ │ └── resources/
|
|
│ │ ├── templates/
|
|
│ │ ├── static/
|
|
│ │ └── application.yml
|
|
│ └── test/
|
|
│ ├── java/
|
|
│ └── resources/
|
|
├── pom.xml
|
|
├── Dockerfile
|
|
├── docker-compose.yml
|
|
└── README.md
|
|
```
|
|
|
|
## Dependencies
|
|
- **Spring Boot Web Starter**: {{spring-boot-starter-web}}
|
|
- **Spring Boot Data JPA Starter**: {{spring-boot-starter-data-jpa}}
|
|
- **Spring Boot Security Starter**: {{spring-boot-starter-security}}
|
|
- **Spring Boot Thymeleaf Starter**: {{spring-boot-starter-thymeleaf}}
|
|
- **Spring Boot Test Starter**: {{spring-boot-starter-test}}
|
|
- **Spring Boot Actuator Starter**: {{spring-boot-starter-actuator}}
|
|
- **MySQL Connector**: {{mysql-connector-java}}
|
|
- **H2 Database**: {{h2-database}}
|
|
|
|
## Database Configuration
|
|
- **Database Type**: {{database-type}}
|
|
- **Host**: {{database-host}}
|
|
- **Port**: {{database-port}}
|
|
- **Database Name**: {{database-name}}
|
|
- **Username**: {{database-username}}
|
|
- **Password**: {{database-password}}
|
|
- **JPA Hibernate DDL Auto**: {{jpa-hibernate-ddl-auto}}
|
|
- **JPA Show SQL**: {{jpa-show-sql}}
|
|
|
|
## Security Configuration
|
|
- **Security Strategy**: {{security-strategy}}
|
|
- **Password Encoding**: {{password-encoding}}
|
|
- **Session Management**: {{session-management}}
|
|
- **CSRF Protection**: {{csrf-protection}}
|
|
- **CORS Configuration**: {{cors-configuration}}
|
|
- **Security Headers**: {{security-headers}}
|
|
|
|
## AWS Configuration
|
|
- **AWS Region**: {{aws-region}}
|
|
- **VPC ID**: {{aws-vpc-id}}
|
|
- **Subnet IDs**: {{aws-subnet-ids}}
|
|
- **Security Group**: {{aws-security-group}}
|
|
- **RDS Instance**: {{aws-rds-instance}}
|
|
- **S3 Bucket**: {{aws-s3-bucket}}
|
|
- **CloudWatch Log Group**: {{aws-cloudwatch-log-group}}
|