Features • Running Locally • Running on Kubernetes • Client Libraries • Changelog
- Connects to AWS DynamoDB or MongoDB
- REST API for CRUD (Create/Retrieve/Update/Delete) operations
- Built-in email verification with AWS Simple Email Service
- Server-side password hashing
- Support for both Basic Auth and OAuth 2.0
- Customizable user properties with validation
- Customizable email message contents
- Generated OpenAPI (Swagger) specification
- Metrics and healthchecks
- Official Docker Image and Helm Chart
- Multiple native client libraries
Fork this repo on GitHub. Then, clone your forked repo onto your machine and navigate to the created directory.
$ git clone YOUR-FORK-URL
$ cd thunder
Compile and package the source code with Maven.
$ mvn package
Start up local dependencies (DynamoDB and SES) in the background so that Thunder can perform all functionality.
$ node scripts/tools/run-local-dependencies.js &
Run the packaged jar.
$ java -jar application/target/application-*.jar server config/local-dev-config.yaml
Thunder should now be running on localhost port 8080!
The official Thunder Docker image is published on Docker Hub.
Thunder is deployed through a Helm chart. See the scripts/deploy/helm/thunder
directory for steps
on deploying through Helm.
Full documentation can be found on ReadTheDocs. For Thunder development documentation, refer to the wiki for information on how to build and write tests.