Skip to content
/ Reindeer Public template

🧬 Reactive Applications Boilerplate in Java.

License

Notifications You must be signed in to change notification settings

silverbackhq/Reindeer

Repository files navigation

Reindeer Logo

Reindeer

Reactive Applications Boilerplate in Java.

This project is mainly for personal & testing purposes but you can simply fork or use it as a template.

Documentation

Development:

Reindeer built on a top of vert.x and uses gradle as a build tool. In order to get started, you need to clone the repository and create a config file.

$ git clone https://github.com/silverbackhq/Reindeer.git
$ cp .env.example .env

Then define your custom configs

APP_NAME=Reindeer
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_PORT=8000

APP_AUTH_TOKEN=

DB_CONNECTION=h2
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=./storage/db
DB_USERNAME=root
DB_PASSWORD=secret

APP_TIMEZONE=UTC
APP_LANGUAGE=en-us

APP_LOGGING_HANDLERS=console
APP_LOGGING_LEVEL=debug
APP_LOGGING_FORMAT={date} [{level}] {class}.{method}() {message}

REINDEER_LOAD_FROM=config

And then migrate & run the application.

# Provide the path to .env file & Run the app
$ make ARGS="-Denv=/path/to/.env" run

Whenever you do changes, please make sure to run the following commands locally:

# to make sure unit and quality testing passed.
$ make ci

# to format the new code changes.
$ make format

# To list all commands
$ make

Deployment:

You can build and run the jar like this:

$ make build

$ java -jar build/libs/reindeer-1.1.3-fat.jar --env=/path/to/.env

Deployment with Docker:

To run from docker image:

$ docker run -d \
    --env APP_PORT=8000 \
    --env DB_CONNECTION=h2 \
    --env DB_HOST=127.0.0.1 \
    --env DB_PORT=3306 \
    --env DB_DATABASE=/app/storage/db \
    --env DB_USERNAME=root \
    --env DB_PASSWORD=secret \
    --name=reindeer \
    --publish 8000:8000 \
    clivern/reindeer:1.1.3

Or with docker compose

$ docker-compose up -d

Versioning

For transparency into our release cycle and in striving to maintain backward compatibility, Reindeer is maintained under the Semantic Versioning guidelines and release process is predictable and business-friendly.

See the Releases section of our GitHub project for changelogs for each release version of Reindeer. It contains summaries of the most noteworthy changes made in each release.

Bug tracker

If you have any suggestions, bug reports, or annoyances please report them to our issue tracker at https://github.com/silverbackhq/reindeer/issues

Security Issues

If you discover a security vulnerability within Reindeer, please send an email to hello@clivern.com

Contributing

We are an open source, community-driven project so please feel free to join us. see the contributing guidelines for more details.

License

© 2019, Silverback. Released under Apache License, Version 2.0.

Reindeer is authored and maintained by @Silverbackhq.