License: Apache 2.0 (except where explicitly stated otherwise)
Sqawsh is a toy project to test drive AWS microservices - implementing a basic serverless squash court booking service. More detailed documentation is available.
- Ensure Java 8 JDK is installed
- Clone the repo
- From the repo's top level, run
./gw build
(orgw build
on Windows) to: - download gradle
- build the project
- run the Junit tests
- create the JavaDocs in the
build/docs/javadoc
folder - create
Squash.zip
andAngularjsApp.zip
in thebuild/distributions
folder
- Create a new S3 bucket and upload into it:
Squash.zip
andAngularjsApp.zip
from thebuild/distributions
folderSquash.template
from thesrc/main/resources/squash/deployment/templates
folder- Go to the Cloudformation console in your chosen region
- Launch a stack:
- using the uploaded
Squash.template
- specifying the parameters appropriately to point to the uploaded
Squash.zip
andAngularjsApp.zip
- The stack should complete in a few minutes
- The URL of the new court booking service will be provided as a stack output
- Check logs in CloudwatchLogs to troubleshoot any problems
- Delete the stack when no longer needed to avoid excess charges!
- There are rudimentary Cucumber WebDriver acceptance tests for several browsers
- These are intended to be run against a real booking service as created above
- You will also need to install:
- the necessary webdrivers (see Selenium's instructions)
- Appium if you want to run the iPad tests
- For example, to run the Chrome tests, edit
RunChromeAcceptanceTests.java
to set theSquashWebsiteBaseUrl
property to the booking service's URL as specified in the stack output - Ensure there are no existing bookings on the service
- Run
RunChromeAcceptanceTests.java
as a Junit project
- From the repo's top level, run
./gw eclipse
(orgw eclipse
on Windows) to generate Eclipse project and classpath files