• This repository has been archived on 09/May/2019
  • Stars
    star
    200
  • Rank 195,325 (Top 4 %)
  • Language
    Scala
  • License
    Other
  • Created about 8 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This sample application is archived. See https://github.com/lagom/lagom-samples for more Example projects showcasing Lagom usage.

Lagom

Gitter

Introduction

Lagom is a Swedish word meaning just right, sufficient. Microservices are about creating services that are just the right size, that is, they have just the right level of functionality and isolation to be able to adequately implement a scalable and resilient system.

Lagom focuses on ensuring that your application realises the full potential of the Reactive Manifesto, while delivering a high productivity development environment, and seamless production deployment experience.

This is a sample Scala auction site using the Lagom Framework. A java version of the auction site is also available.

Getting started

To get started make sure you have sbt and git installed on your system. You will also need an active internet connection.

Running: Prerequisites

  • 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

Running

On another terminal, clone this repo and run the sample app using the command sbt runAll:

git clone [email protected]:lagom/online-auction-scala.git
cd online-auction-scala
sbt runAll

Auction system - System architecture

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.

Good to know

  • Hello World Giter8 seed

For a simple, gentler, introduction to Lagom, have a look at the Hello World giter8 seed project in the docs.

  • Getting help

If you have any troubles and need help, feel free to ask in the Gitter channel

Running: Kubernetes

This project uses Lightbend Orchestration for Kubernetes to simplify deployment to Kubernetes.

Refer to KUBERNETES.md for more information on this process.

More Repositories

1

lagom

Reactive Microservices for the JVM
Scala
2,629
star
2

online-auction-java

Java
130
star
3

activator-lagom-cargotracker

Cargo tracker sample application for Lagom
Java
104
star
4

lagom-samples

Java
86
star
5

lagom-recipes

Java
62
star
6

lagom-java-chirper-example

Deprecated: use https://github.com/lagom/lagom-java-sbt-chirper-example or https://github.com/lagom/lagom-java-maven-chirper-example
45
star
7

sbt-lagom-descriptor-generator

Lagom API code generator
Scala
23
star
8

lagom-scala.g8

Scala
22
star
9

lagom-at-so

Lagom at Stack Overflow AWS Lambda function
Scala
19
star
10

lagom-java-maven-chirper-example

Java
17
star
11

lagom-java-sbt-chirper-example

Java
16
star
12

shopping-cart-scala

Lagom Scala shopping cart sample application
Scala
12
star
13

lagom.github.io

Lagom website
HTML
10
star
14

ibm-integration-examples

Demonstrations of how to access IBM data storage technologies from Lagom services
Java
8
star
15

lagom-scala-grpc-example

Scala
7
star
16

activator-lagom-java

A Lagom Java seed template for Lightbend Activator
7
star
17

lagom-java.g8

Java
6
star
18

shopping-cart-java

Sample app demonstrating how to implement a shopping cart in Lagom
Java
6
star
19

lagom-akka-discovery-service-locator

Scala
5
star
20

lagom-gameon-example

An example room implemented in Lagom for Game On! (https://gameontext.org)
Java
4
star
21

persistence-api-experiments

Sandbox for brain-storming on a new Persistence API proposal
Scala
4
star
22

lagom-grpc-labs

Scala
1
star
23

grpc-sbt-experiments

Scala
1
star
24

lagom-java-grpc-example

Sample project demonstrating the use of Akka-GRPC in a Lagom-Java project.
Java
1
star