MIT-licensed template for scaffolding self-container Java RESTful web server. Tech stack usage are
- Spring Boot RESTful APIs using
@RequestMapping
- Generic ORM using JPA, any relational database engine should work through proper
JDBC
URL configuration. - Liquibase data migration integrated when the application starts.
- Web UI built on Angular and Material UI.
- A build system based on Gradle that build everything to an executable fat
.war
. - Visual Studio Code support.
- Swagger documentation
- Docker support
- CI/CD pipeline
- Reactive programming using R2DBC or MongoDB
- OpenJDK 11+
- NodeJS 12+
- Visual Studio Code for development
- Gradle for building from CLI
Create a file at src/resouces/application-dev.yaml
and override any configuration from its sibling application.yaml
as needed.
- Install UI dependencies
cd ui
npm i
- Start API development server. Not recommended because hot code replacement will not work unless you're using IDE like IntelliJ. If you're using Visual Studio Code, it's recommended that you start the web server inside vscode.
./gradlew bootRun
- Start UI development server
cd ui
npm run dev
- Build fat war distribution
./gradlew build
Install the following Visual Studio Code plugins
- Java Extension Pack
- Spring Boot Tools
- Lombok Annotations Support for VS Code
- EditorConfig
- Checkstyle for Java
- Angular Language Service
Debug the API server by pressing F5
or go to Debug > Start Debugging
. Hot code replacement is also supported when running under Visual Studio Code.
Please read here.