IMPORTANT: Do not send pull requests to this repository. This is a template repository and is not used for grading. Any pull requests will be closed and ignored.
If you are reading this, you are probably have received this project as a coding challenge. Please read the instructions carefully and follow the steps below to get started.
To run the application you would require:
First, you need to install Java 21 or later. You can download it from Azul or use SDKMAN.
brew install --cask zulu21
You can install Temporal using Homebrew
brew install temporal
or visit Temporal Installation for more information.
You can install Docker using Homebrew
brew install docker
or visit Docker Installation for more information.
Please check the official documentation for the installation of Java, Temporal, and Docker for your platform.
Sign up for a Stripe account and get your API keys from the Stripe Dashboard.
Then in application.properties
file add the following line with your secret key.
stripe.api-key=sk_test_51J3j
You are required to first start the temporal server using the following command
temporal server start-dev
and then run the application using the following command or using your IDE.
./gradlew bootRun
To run lint checks, use the following command
./gradlew sonarlintMain
To format the code, use the following command
./gradlew spotlessApply
The following guides illustrate how to use some features concretely:
- Accessing Data with JPA
- Temporal Quick Start
- Temporal Java SDK Quick Guide
- Stripe Quick Start
- Stripe Java SDK
This project contains a Docker Compose file named compose.yaml
.
In this file, the following services have been defined:
- postgres:
postgres:latest
Please review the tags of the used images and set them to the same as you're running in production.