ATTENTION: For scalability reasons, I am migrating to a different way of generating projects. Currently, it was done using Java file templates, but this ends up being less dynamic and difficult to change. You can look at the branches to track the progress.
This is a terminal application designed for developers starting a Spring Boot API who want to bypass the tedious initial steps of creating layers, folders, and authentication.
To get started, simply install the tool and run the command dss init in
your terminal. Answer a few basic questions, and in seconds, you'll have
the complete foundation for your Spring Boot API.
curl -fsSL https://eriquerocha.github.io/developerStartSpringboot/install-deb.sh | sudo bash
run the following command sequence in the terminal:
- Download the .deb package
wget https://github.com/EriqueRocha/developerStartSpringboot/releases/download/Ubuntu-linux/developerstartspringboot_0.1.0-1_amd64.deb
Or, if you prefer to use curl:
curl -L -O https://github.com/EriqueRocha/developerStartSpringboot/releases/download/Ubuntu-linux/developerstartspringboot_0.1.0-1_amd64.deb
- Install the .deb package (in the folder where the package was downloaded)
sudo dpkg -i developerstartspringboot_0.1.0-1_amd64.deb
- Start using
dss init
run the following command sequence in the terminal:
- installing directly from the URL:
sudo dnf install https://github.com/EriqueRocha/developerStartSpringboot/releases/download/Fedora-linux/developerStartSpringboot-0.1.0-1.x86_64.rpm
downloading and installing:
- Download the .rpm package
wget https://github.com/EriqueRocha/developerStartSpringboot/releases/download/Fedora-linux/developerStartSpringboot-0.1.0-1.x86_64.rpm
Or, if you prefer to use curl:
curl -L -O https://github.com/EriqueRocha/developerStartSpringboot/releases/download/Fedora-linux/developerStartSpringboot-0.1.0-1.x86_64.rpm
- Install the .rpm package (in the folder where the package was downloaded)
sudo dnf install ./developerStartSpringboot-0.1.0-1.x86_64.rpm
- Start using
dss init
| Layer | Main Responsibility | Knows About | Example Classes / Components |
|---|---|---|---|
| Core (Domain) | Contains the core business logic and entities. Defines domain rules, invariants, and pure data models — completely independent of frameworks. | None | User, Order, Product, Payment, Money, Email |
| Application | Orchestrates use cases and coordinates the business logic using the domain entities. Handles transactions, validation, and flow control. | Core | CreateUserService, ProcessPaymentUseCase, OrderManager, DtoMapper |
| Infrastructure | Implements the technical details and integrates with external systems (databases, APIs, file storage, messaging, etc.). Contains controllers, repositories, and configurations. | Application (and sometimes Core) | UserRepositoryJpa, PaymentApiClient, EmailServiceImpl, UserController, SpringConfig |
