Skip to content

Latest commit

 

History

History
86 lines (55 loc) · 2.24 KB

README.md

File metadata and controls

86 lines (55 loc) · 2.24 KB

Building a Knowledge Base Service With Neo4j, Kafka, and the Outbox Pattern

This repository contains the code for a small project that was built to support a Medium article.

Requirements

Documentation

Domain Model

Architecture

Change Data Capture with Outbox Pattern

Services

Running

To run all the services and infrastructure just run:

$ ./init.sh

It may take a while because all the gradle dependencies need to be downloaded and the source code compiled.

After the script has finished, the API Gateway should be exposed at port 8090.

You can check that by running:

$ curl http://localhost:8090/__health
{"status":"OK"}

Demo

  • Open the postman collection and try to make some requests.

  • You can then go to Kafka's Landoop UI to check if messages have arrived to people-db.people.outbox and movies-db.movies.outbox topics.

  • To check that the information is persited in Neo4j, go to Neo4j Browser
    • Connect URL: bolt://localhost:7687
    • Authentication type: Username / Password
    • Username: neo4j
    • Password: HNxzZk7GBNcKv5kW

And run the following query

MATCH (n) RETURN n LIMIT 35

It should return some nodes and edges.

Example:

Metrics

    • Username: admin
    • Password: admin