Votingly is a comprehensive web application designed to streamline the process of creating, distributing, and analyzing surveys. It caters to businesses, educators, researchers, and individuals seeking to gather insights and feedback efficiently.
./gradlew clean build
docker compose up -d
java -jar -Dspring.profiles.active=dev build/libs/votingly-app-17.0.10.jar
Access at localhost:8080
./gradlew clean -Dspring.profiles.active=testcontainer bootJar
java -jar -Dspring.profiles.active=devcontainer build/libs/votingly-app-17.0.10.jar
docker build --tag=votingly:latest .
docker run -p 8080:8080 -e "SPRING_PROFILES_ACTIVE=devcontainer" votingly:latest
# To run on same network in dev container use --network=votingly_default
- Open this project
- In GCP IAM - Create your service account with 'Compute Admin', ‘DNS Admin’, ‘Service Account Admin’, ‘Service Account User’ permission. Then put its key in deploy/.creds and rename to 'gcloud_sa_compute_admin.json'
- Install Terraform (or see VScode dev containers on how to open our project in a container)
cd deploy/prod
Initialize (only first time)
terraform init
Get a preview of changes that Terraform plans to make to infrastructure
terraform plan
Execute the actions proposed in Terraform plan
terraform apply
Destroy all remote objects managed by Terraform
terraform destroy
npm init
docker compose up -d
Run Tests (specify spring active profile)
./gradlew -PspringProfilesActiveTests=<profile_name> check
Continuously rebuild on code changes
./gradlew -t classes
