create-spring-boot-java-project▌
github/awesome-copilot · updated Apr 8, 2026
Generate a Spring Boot 3.4.5 project skeleton with PostgreSQL, Redis, MongoDB, and Docker Compose.
- ›Scaffolds a Maven-based Spring Boot project with Java 21, including Lombok, Spring Data JPA, Spring Web, caching, and validation dependencies
- ›Pre-configures application.properties with connection details for PostgreSQL, Redis, and MongoDB, plus SpringDoc OpenAPI for API documentation
- ›Generates a docker-compose.yaml file with Redis 6, PostgreSQL 17, and MongoDB 8 services, each with pers
Create Spring Boot Java project prompt
-
Please make sure you have the following software installed on your system:
- Java 21
- Docker
- Docker Compose
-
If you need to custom the project name, please change the
artifactIdand thepackageNamein download-spring-boot-project-template -
If you need to update the Spring Boot version, please change the
bootVersionin download-spring-boot-project-template
Check Java version
- Run following command in terminal and check the version of Java
java -version
Download Spring Boot project template
- Run following command in terminal to download a Spring Boot project template
curl https://start.spring.io/starter.zip \
-d artifactId=${input:projectName:demo-java} \
-d bootVersion=3.4.5 \
-d dependencies=lombok,configuration-processor,web,data-jpa,postgresql,data-redis,data-mongodb,validation,cache,testcontainers \
-d javaVersion=21 \
-d packageName=com.example \
-d packaging=jar \
-d type=maven-project \
-o starter.zip
Unzip the downloaded file
- Run following command in terminal to unzip the downloaded file
unzip starter.zip -d ./${input:projectName:demo-java}
Remove the downloaded zip file
- Run following command in terminal to delete the downloaded zip file
rm -f starter.zip
Change directory to the project root
- Run following command in terminal to change directory to the project root
cd ${input:projectName:demo-java}
Add additional dependencies
- Insert
springdoc-openapi-starter-webmvc-uiandarchunit-junit5dependency intopom.xmlfile
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5</artifactId>
<version>1.2.1</version>
<scope>test</scope>
</dependency>
Add SpringDoc, Redis, JPA and MongoDB configurations
- Insert SpringDoc configurations into
application.propertiesfile
# SpringDoc configurations
springdoc.swagger-ui.doc-expansion=none
springdoc.swagger-ui.operations-sorter=alpha
springdoc.swagger-ui.tags-sorter=alpha
- Insert Redis configurations into
application.propertiesfile
# Redis configurations
spring.data.redis.host=localhost
spring.data.redis.port=6379
spring.data.redis.password=rootroot
- Insert JPA configurations into
application.propertiesfile
# JPA configurations
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=rootroot
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
- Insert MongoDB configurations into
application.propertiesfile
# MongoDB configurations
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=root
spring.data.mongodb.password=rootroot
spring.data.mongodb.database=test
Add docker-compose.yaml with Redis, PostgreSQL and MongoDB services
-
Create
docker-compose.yamlat project root and add following services:redis:6,postgresql:17andmongo:8.- redis service should have
- password
rootroot - mapping port 6379 to 6379
- mounting volume
./redis_datato/data
- password
- postgresql service should have
- password
rootroot - mapping port 5432 to 5432
- mounting volume
./postgres_datato/var/lib/postgresql/data
- password
- mongo service should have
- initdb root username
root - initdb root password
rootroot - mapping port 27017 to 27017
- mounting volume
./mongo_datato/data/db
- initdb root username
- redis service should have
Add .gitignore file
- Insert
redis_data,postgres_dataandmongo_datadirectories in.gitignorefile
Run Maven test command
- Run maven clean test command to check if the project is working
./mvnw clean test
Run Maven run command (Optional)
- (Optional)
docker-compose up -dto start the services,./mvnw spring-boot:runto run the Spring Boot project,docker-compose rm -sfto stop the services.
Let's do this step by step
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.8★★★★★33 reviews- ★★★★★Daniel Ramirez· Dec 28, 2024
I recommend create-spring-boot-java-project for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Kofi Farah· Dec 24, 2024
create-spring-boot-java-project reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Ganesh Mohane· Dec 20, 2024
create-spring-boot-java-project has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Alexander Liu· Dec 4, 2024
create-spring-boot-java-project is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Mei Thomas· Dec 4, 2024
create-spring-boot-java-project fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
- ★★★★★Mei Li· Nov 23, 2024
We added create-spring-boot-java-project from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Daniel Abbas· Nov 19, 2024
Useful defaults in create-spring-boot-java-project — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Rahul Santra· Nov 11, 2024
Keeps context tight: create-spring-boot-java-project is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Isabella Khan· Oct 14, 2024
Keeps context tight: create-spring-boot-java-project is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Sakura Johnson· Oct 10, 2024
Registry listing for create-spring-boot-java-project matched our evaluation — installs cleanly and behaves as described in the markdown.
showing 1-10 of 33