Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gklijs/jug-sticker-demo
Demo project around concurrency
https://github.com/gklijs/jug-sticker-demo
Last synced: 7 days ago
JSON representation
Demo project around concurrency
- Host: GitHub
- URL: https://github.com/gklijs/jug-sticker-demo
- Owner: gklijs
- Created: 2023-02-03T16:32:17.000Z (almost 2 years ago)
- Default Branch: dev
- Last Pushed: 2023-03-08T16:32:16.000Z (almost 2 years ago)
- Last Synced: 2024-11-19T13:35:09.424Z (about 2 months ago)
- Language: Java
- Size: 16.6 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sticker Demo Application
## Introduction
This repository will eventually contain multiple solutions for the same problem. The important thing to keep in mind is
that all components need to be possibly scaled up. This means different simultaneous calls might hit different
applications, which might in turn hit different middleware.## The problem
A fictional Java User Group want to create a platform for their members. If they register they get a certain about of
credits (50), and with that they can oder stickers (30). It must be impossible for someone just registered to order
multiple sheets of stickers. Please note this is highly simplified. The email is never checked, it doesn't need to be
unique, and there is almost no other validation than a check for the current credits of a member.## Solutions
All solutions will likely be build using Spring Boot 3 for the application. In most cases the middleware can be started
by using docker, from the docker file in the solution, like [here](/axon/docker-compose.yml). As Sping Boot requires
Java 17, that is needed to run the application.Graphql is used for the API. As this is also common, you can go to [graphiql](http://localhost:8080/graphiql), if it's
enabled by the `spring.graphql.graphiql.enabled` property. You can find the schema
used [here](common/src/main/resources/graphql/member.graphqls).