This is a sample app of the Lagom Framework.
You will need to install sbt:
- To install sbt on Mac you can have a look at The SBT Documentation for Mac
- To install sbt on Windows you can have a look at The SBT Documentation for Windows
- To install sbt on Linux you can have a look at The SBT Documentation for Linux
You will need to download and run an Elastisearch server:
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.2.tar.gz
tar -xvf elasticsearch-5.0.2.tar.gz
cd elasticsearch-5.0.2/bin
./elasticsearch
On another terminal, clone this repo and run the sample app using the command sbt runAll
:
git clone git@github.com:lagom/online-auction-java.git
cd online-auction-java
sbt runAll
- To import the online-auction-javaproject into IntellijIDEA you can have a look at The Lagom Documentation for IDEA
- To import the online-auction-javaproject into Eclipse you can have a look at The Lagom Documentation for Eclipse
- You will also need to add Lambok plugin in your IDE for annotations. Take a look at The Lagom Documentation for Lambok
The auction system is the sum of 5 micro-services and a web gateway:
- Item Service: Manages the description and auction status (created, auction, completed, cancelled) of an item.
- Bidding service: Manages bids on items.
- Search service: Handles all item searching.
- Transaction service: Handles the transaction of negotiating delivery info and making payment of an item that has completed an auction.
- user-service: a convenience service to stub user management. Don't use any code in
user-service
as reference on how to create a secure user management micro-service. - web-gateway: a Play application providing web UI and acting as gateway to all previously described services.
Check the docs for each service for details on the commands and queries it serves as well as events the service emits and events it consumes from the Message Broker.