generator-springboot-hexagonal
Version:
A code generator for SpringBoot microservices in Hexagonal Architecture
97 lines (66 loc) • 2.56 kB
Markdown
Spring Hexagonal Project
A Yeoman generator for generating Microservices with SpringBoot in Hexagonal Architecture
# How to use?
```
npm install -g yo
npm i generator-springboot-hexagonal
yo springboot-hexagonal
```
to known more look at the doc page
https://spark-life.gitbook.io/spring-hexagonal/
# Features
* SpringBoot REST API
* Spring Data JPA integration with option to select databases like MySQL, Postgresql, MariaDB etc
* RabbitMQ
* Kubernetes
* Flyway data migration support
* SpringBoot Actuator configuration
* Spring Native / GraalVM
* ReactJS starter
* TestContainers integration
* JUnit 5
* ArchUnit
* Localstack configuration
* Swagger UI Integration
## Generate REST API with CRUD operations
You can generate REST API with CRUD operation using the following command:
:high_brightness: You should run the following command from within the generated project folder.
`myservice> yo springboot-hexagonal:hexagonal Customer`
Customer will be the name used in DTOs, Mappers and Models
This will generate:
* JPA entity
* Spring Data JPA Repository
* Service
* Spring MVC REST Controller with CRUD operations
* Unit and Integration Tests for REST Controller
* Flyway migration to create table
Other commands
`myservice> yo springboot-hexagonal:kubernetes`
see more in https://spark-life.gitbook.io/spring-hexagonal/generators/kubernetes
`myservice> yo springboot-hexagonal:react`
see more in https://spark-life.gitbook.io/spring-hexagonal/generators/react
`myservice> yo springboot-hexagonal:rabbitmq Customer`
see more in https://spark-life.gitbook.io/spring-hexagonal/generators/rabbitmq
`myservice> yo springboot-hexagonal:security` - in dev
`myservice> yo springboot-hexagonal:kafka` - in dev
`myservice> yo springboot-hexagonal:webclient Person --uri https://testnets-api.opensea.io` - in dev
# Local Development Setup
```
git clone https://github.com/odilio/generator-springboot.git
cd generator-springboot
npm install
npm link
yo springboot-hexagonal
```
# Roadmap
yo springboot-hexagonal:cassandra
yo springboot-hexagonal:mongodb
yo springboot-hexagonal:grpc
yo springboot-hexagonal:gateway
yo springboot-hexagonal:oauth2
yo springboot-hexagonal:mail
yo springboot-hexagonal:reactadmin
# Contacts
https://www.linkedin.com/in/odilio-noronha-filho/
https://medium.com/rapaduratech
odilionoronha@gmail.com