The REST backend for TellMe. Written entirely in Java using Spring Boot and Project Reactor.
- Fully non-blocking & asynchronous I/O
- Uses Reactor Netty Web Server
- Uses MongoDB Atlas for persistence
- Uses CircleCI for Continous Integration
master
gets automatically deployed to Heroku
You can start the Spring Boot application in a variety of ways:
- Build a .jar from the sources and run it locally via the Java CLI
$ ./mvnw package
$ java -jar target/backend-0.2.jar
- Run it locally via the Heroku CLI
$ ./mvnw package
$ heroku local web
The Heroku deployment can be accessed via the following URL:
$ curl https://tellme-backend.herokuapp.com/
This project can be built as a Docker image.
- Create an image using:
$ docker build . --tag "backend-tellme" \
--build-arg db_username="$TELLME_MONGODB_ATLAS_USERNAME" \
--build-arg db_password="$TELLME_MONGODB_ATLAS_PASSWORD"
- Run the image using:
$ docker run -d -p 8080:8080 backend-tellme:latest
You can obtain a valid api key by decrypting the file using:
$ openssl aes-256-cbc -d -in release/serviceAccountKey.json.encrypted -k $KEY >> src/main/resources/serviceAccountKey.json
Please make sure to place the corresponding serviceAccountKey.json
inside the src/main/resources
folder.