A fully customizable user management REST API.
- 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!
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.