This project brings together several of the official vertx-examples and provides a potential starting point for new applications. It is also supposed to showcase JWT authentication and basic development tooling, like reloading on code changes and continuous testing. Reduction of the overall amount of code or configuration was also a consideration.
It implements a basic registration story:
- User enter an email address, password (and desired permissions)
- User receives an email, to which a confirmation is being sent.
- User can log in, and access HTTP resources with varying permissions
- Install the PostgreSQL database service for your operating system
- Create database 'vertx'
- Install a development email client (I recommend MailDev)
- Execute
./gradlew flywayMigrate
- Execute
./gradlew run
- Open http://localhost:8080/register.html
- Submit registration, optionally provide (comma separated) roles
- (Optionally) open email client (in case of MailDev http://localhost:1080)
- (Optionally confirm your email address)
- Go to http://localhost:8080, log in and access the resources.
Create a database vertx_test
.
Run the tests with ./gradlew test --continuous
to have them execute on any change to source files.