This project is based on Spring Boot and built with Gradle. Provide build and run methods for the Ubuntu system.
- Health Check Endpoint: GET /healthz
- View, Create and Update for users and products
- Get, Upload and Delete for product images
- All images store in AWS S3 Bucket
sudo apt update
sudo apt install -y mysql-server openjdk-17-jdkStart Mysql Service
sudo service mysql start
mysql -u root -pCreate Database and Grant access to the database
CREATEDATABASEwebapp;
CREATEUSER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON webapp.* TO 'user'@'localhost';
FLUSH PRIVILEGES;export SPRING_DATASOURCE_URL=jdbc:mysql://localhost:3306/webapp?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
export SPRING_DATASOURCE_USERNAME=user
export SPRING_DATASOURCE_PASSWORD=password
export SERVER_PORT=8080
export AWS_PROFILE=dev
export AWS_REGION=us-east-1
export AWS_BUCKET_NAME=sample-bucket-name
export AWS_SNS_USER_SIGNUP_ARN=sample-arn./gradlew build
java -jar build/libs/webapp-*.jar./gradlew testmkdir -p packer/artifacts
cp build/libs/webapp-*.jar packer/artifacts/webapp.jar
# set environment variables
touch packer/variables.pkrvars.hcl
packer init packer/
packer fmt packer/
packer validate -var-file=packer/variables.pkrvars.hcl packer/
packer build -var-file=packer/variables.pkrvars.hcl packer/webapp.pkr.hcl