Giter Club home page Giter Club logo

gift-card-simple's Introduction

Simple Gift Card

This simple application demonstrates the CQRS (Command Query Responsibility Segregation) and Event Sourcing patterns using the Axon Java Framework. The domain used is gift cards. This application is demoed during this presentation. Gift cards themselves are event sourced aggregate entities that constitute the write model, execute commands and emit events. The read model handles events, constructs several materialized views and powers several queries.

The Maven based application only requires Java SE 8 (or up). You should be able to open the application in any Maven capable IDE. Once built, you can run the application through the following command.

java -jar gift-card-simple-1.0.jar

Once the application is up and running, you can access it via http://localhost:8080.

UI

Through the UI, you can issue single cards, bulk issue cards, redeem cards, and view a list of cards. You can also see what is going on in the database (including the event store) by navigating to http://localhost:8080/h2. When prompted, just enter the following as the JDBC URL (accept all the other defaults).

jdbc:h2:mem:testdb

UI

Once logged in, you can see all triggered events stored in the event store by issuing the following SQL:

SELECT
    GLOBAL_INDEX,
    EVENT_IDENTIFIER,
    UTF8TOSTRING(META_DATA) AS META_DATA,
    UTF8TOSTRING(PAYLOAD) AS PAYLOAD,
    PAYLOAD_TYPE,
    TIME_STAMP,
    AGGREGATE_IDENTIFIER,
    SEQUENCE_NUMBER,
    TYPE
FROM
    DOMAIN_EVENT_ENTRY

gift-card-simple's People

Contributors

m-reza-rahman avatar

Watchers

James Cloos avatar tiehuapen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.