A CLI tool for generating Spring Boot projects.
There are few good project generator tools exist such as JHipster, Bootify, generator-springboot.
The reasons for creating this new progen CLI tool are:
- To generate the application with minimal code and the most commonly used features and configurations only.
- We should be able to use the tool offline to create the projects.
- We should be able to use the tool without requiring the installation of other languages SDKs. For example, for generating a Java application, we shouldn't need to install Node.js or Python, etc.
The progen generates a Spring Boot application with the following features configured:
- Spring Boot project with Maven and Gradle support
- Spring Data JPA integration with MySQL, Postgresql, MariaDB support
- Flyway and Liquibase database migration support
- Spring Security Configuration for WebApp
- JWT based Spring Security Configuration for REST APIs
- Spring Modulith Configuration
- Spring Cloud AWS support with LocalStack configuration
- Swagger UI Integration using springdoc-openapi
- Testcontainers based Testing and Local Development Setup
- Docker Compose based Local Development Setup
- GitHub Actions Configuration
- Code formatting using Spotless
- JUnit 5
- Taskfile to execute commonly used commands
Download the latest binary for your OS and Architecture(arm64, x86_64) from https://github.com/sivaprasadreddy/progen/releases.
If you have Go installed on your machine, you can use the following command to install progen
:
$ go install github.com/sivaprasadreddy/progen@latest
$ progen --help
Important
On MacOS, you may get the error "progen cannot be opened because the developer cannot be verified". To fix this, you can select the progen binary in Finder, hold control and click, and select Open. You will then be prompted to confirm that you want to open the binary. After confirming, you can run progen as usual.
$ progen
The progen is an Open Source software released under the Apache 2.0 License.