Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A fully customizable user management REST API.

Build Status Coverage Status LGTM Alerts Maven Central Javadoc Docker Pulls Open Source Helpers

Read the Documentation

FeaturesRunning LocallyRunning on KubernetesClient LibrariesChangelog


  • 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
  • Customizable email message contents
  • Customizable verification success page
  • Customizable user properties with validation
  • Generated OpenAPI (Swagger) specification
  • Metrics and healthchecks
  • Official Docker Image and Helm Chart
  • Multiple native client libraries

Running Locally

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!

Running on Kubernetes

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.

Further Documentation

Full documentation can be found on ReadTheDocs. For Thunder development documentation, refer to the wiki for information on how to build and write tests.

FOSSA Status

You can’t perform that action at this time.