Skip to content
A sample app that uses a Java Spring Boot backend connected to a database to display a fictitious art shop with a React front-end.
Branch: master
Clone or download
Mano Marks
Mano Marks Merge pull request #101 from ManoMarks/master
updating package.json to remove vulnerability
Latest commit fb55ebd Aug 15, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings clean up and added dev compose file May 16, 2017
database first commit Apr 20, 2017
devsecrets clean up and added dev compose file May 16, 2017
payment_gateway first commit Apr 20, 2017
reverse_proxy first commit Apr 20, 2017
windows first commit Apr 20, 2017
.classpath clean up and added dev compose file May 16, 2017
.gitignore moved src/pom.xml to app directory Jun 14, 2017
.project first commit Apr 20, 2017
LICENSE adding Apache License May 19, 2017 Update Jun 24, 2017 first commit Apr 20, 2017
atsea_store.png clean up and added dev compose file May 16, 2017
checkout.png first commit Apr 20, 2017
docker-compose-dev.yml updated compose files Jun 2, 2017
docker-compose.yml Fix password file to actually be used Oct 6, 2017

AtSea Shop Demonstration Application

The AtSea Shop is a demonstration application comprised of:

  • Java REST application written using Spring-Boot,
  • a database for product inventory, customer data, and orders,
  • a React shopping cart,
  • a NGINX reverse proxy implementing https,
  • a payment gateway to simulate certificate management


This example uses features in Docker 17.05 CE Edge. Install this version to run the example.

Building and Running the AtSea Shop


This application uses Docker secrets to secure the application components. The reverse proxy requires creating a certificate that is stored as a secret and the payment also requires a password stored as a secret. To create a certificate and add as a secret:

mkdir certs

openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key -x509 -days 365 -out certs/domain.crt

docker secret create revprox_cert certs/domain.crt

docker secret create revprox_key certs/domain.key

docker secret create postgres_password certs/domain.key

To create a secret for staging the payment gateway:

echo staging | docker secret create staging_token - 

Run as an application

To run the AtSea shop as an application:

docker-compose up --build

Deploy to a swarm

#If you need to create a Swarm
docker swarm init
docker stack deploy -c docker-stack.yml atsea

A simplified development environment

This compose file creates a simplified development environment consisting of only the application server and the database.

docker-compose --file docker-compose-dev.yml up --build

The AtSea Shop

The URL for the content is http://localhost:8080/


Documentation for REST calls: REST API

You can’t perform that action at this time.