├── .eslintrc ├── .gitignore ├── .prettierrc.js ├── LICENSE ├── README.md ├── docs └── images │ ├── components.png │ └── services.png ├── examples ├── .gitignore ├── complete-with-microservices │ ├── README.md │ ├── docker-compose.yml │ ├── event-archivist │ │ ├── Dockerfile │ │ ├── index.js │ │ └── package.json │ ├── event-processor │ │ ├── Dockerfile │ │ ├── index.js │ │ └── package.json │ ├── myapp │ │ ├── Dockerfile │ │ ├── index.js │ │ ├── package.json │ │ └── static │ │ │ ├── index.html │ │ │ └── socket.io.min.js │ └── receiver-microservice │ │ ├── Dockerfile │ │ ├── index.js │ │ └── package.json ├── simple │ ├── README.md │ ├── index.js │ └── package.json ├── with-custom-event-store │ └── with-elasticsearch │ │ ├── README.md │ │ ├── index.js │ │ └── package.json ├── with-custom-queue │ ├── with-kafka │ │ ├── README.md │ │ ├── archivist.js │ │ ├── docker-compose.yml │ │ ├── package.json │ │ ├── processor-and-state-reader.js │ │ └── receiver.js │ └── with-redis │ │ ├── README.md │ │ ├── archivist.js │ │ ├── package.json │ │ ├── processor-and-state-reader.js │ │ └── receiver.js └── with-custom-state-store │ └── with-redis │ ├── README.md │ ├── index.js │ ├── package.json │ └── state-reader.js ├── package.json └── src ├── EventArchivist.js ├── EventProcessor.js ├── EventReceiver.js ├── EventStore ├── Elasticsearch.js └── FileSystem.js ├── Lock └── InMemory.js ├── Queue ├── InMemory.js ├── Kafka.js └── Redis.js ├── StateReader.js ├── StateStore ├── InMemory.js └── Redis.js └── index.js /.eslintrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/.eslintrc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | *.log* 3 | data/ 4 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/.prettierrc.js -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/README.md -------------------------------------------------------------------------------- /docs/images/components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/docs/images/components.png -------------------------------------------------------------------------------- /docs/images/services.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/docs/images/services.png -------------------------------------------------------------------------------- /examples/.gitignore: -------------------------------------------------------------------------------- 1 | package-lock.json 2 | -------------------------------------------------------------------------------- /examples/complete-with-microservices/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/README.md -------------------------------------------------------------------------------- /examples/complete-with-microservices/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/docker-compose.yml -------------------------------------------------------------------------------- /examples/complete-with-microservices/event-archivist/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/event-archivist/Dockerfile -------------------------------------------------------------------------------- /examples/complete-with-microservices/event-archivist/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/event-archivist/index.js -------------------------------------------------------------------------------- /examples/complete-with-microservices/event-archivist/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/event-archivist/package.json -------------------------------------------------------------------------------- /examples/complete-with-microservices/event-processor/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/event-processor/Dockerfile -------------------------------------------------------------------------------- /examples/complete-with-microservices/event-processor/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/event-processor/index.js -------------------------------------------------------------------------------- /examples/complete-with-microservices/event-processor/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/event-processor/package.json -------------------------------------------------------------------------------- /examples/complete-with-microservices/myapp/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/myapp/Dockerfile -------------------------------------------------------------------------------- /examples/complete-with-microservices/myapp/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/myapp/index.js -------------------------------------------------------------------------------- /examples/complete-with-microservices/myapp/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/myapp/package.json -------------------------------------------------------------------------------- /examples/complete-with-microservices/myapp/static/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/myapp/static/index.html -------------------------------------------------------------------------------- /examples/complete-with-microservices/myapp/static/socket.io.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/myapp/static/socket.io.min.js -------------------------------------------------------------------------------- /examples/complete-with-microservices/receiver-microservice/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/receiver-microservice/Dockerfile -------------------------------------------------------------------------------- /examples/complete-with-microservices/receiver-microservice/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/receiver-microservice/index.js -------------------------------------------------------------------------------- /examples/complete-with-microservices/receiver-microservice/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/complete-with-microservices/receiver-microservice/package.json -------------------------------------------------------------------------------- /examples/simple/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/simple/README.md -------------------------------------------------------------------------------- /examples/simple/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/simple/index.js -------------------------------------------------------------------------------- /examples/simple/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/simple/package.json -------------------------------------------------------------------------------- /examples/with-custom-event-store/with-elasticsearch/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-event-store/with-elasticsearch/README.md -------------------------------------------------------------------------------- /examples/with-custom-event-store/with-elasticsearch/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-event-store/with-elasticsearch/index.js -------------------------------------------------------------------------------- /examples/with-custom-event-store/with-elasticsearch/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-event-store/with-elasticsearch/package.json -------------------------------------------------------------------------------- /examples/with-custom-queue/with-kafka/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-kafka/README.md -------------------------------------------------------------------------------- /examples/with-custom-queue/with-kafka/archivist.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-kafka/archivist.js -------------------------------------------------------------------------------- /examples/with-custom-queue/with-kafka/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-kafka/docker-compose.yml -------------------------------------------------------------------------------- /examples/with-custom-queue/with-kafka/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-kafka/package.json -------------------------------------------------------------------------------- /examples/with-custom-queue/with-kafka/processor-and-state-reader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-kafka/processor-and-state-reader.js -------------------------------------------------------------------------------- /examples/with-custom-queue/with-kafka/receiver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-kafka/receiver.js -------------------------------------------------------------------------------- /examples/with-custom-queue/with-redis/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-redis/README.md -------------------------------------------------------------------------------- /examples/with-custom-queue/with-redis/archivist.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-redis/archivist.js -------------------------------------------------------------------------------- /examples/with-custom-queue/with-redis/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-redis/package.json -------------------------------------------------------------------------------- /examples/with-custom-queue/with-redis/processor-and-state-reader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-redis/processor-and-state-reader.js -------------------------------------------------------------------------------- /examples/with-custom-queue/with-redis/receiver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-queue/with-redis/receiver.js -------------------------------------------------------------------------------- /examples/with-custom-state-store/with-redis/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-state-store/with-redis/README.md -------------------------------------------------------------------------------- /examples/with-custom-state-store/with-redis/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-state-store/with-redis/index.js -------------------------------------------------------------------------------- /examples/with-custom-state-store/with-redis/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-state-store/with-redis/package.json -------------------------------------------------------------------------------- /examples/with-custom-state-store/with-redis/state-reader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/examples/with-custom-state-store/with-redis/state-reader.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/package.json -------------------------------------------------------------------------------- /src/EventArchivist.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/EventArchivist.js -------------------------------------------------------------------------------- /src/EventProcessor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/EventProcessor.js -------------------------------------------------------------------------------- /src/EventReceiver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/EventReceiver.js -------------------------------------------------------------------------------- /src/EventStore/Elasticsearch.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/EventStore/Elasticsearch.js -------------------------------------------------------------------------------- /src/EventStore/FileSystem.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/EventStore/FileSystem.js -------------------------------------------------------------------------------- /src/Lock/InMemory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/Lock/InMemory.js -------------------------------------------------------------------------------- /src/Queue/InMemory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/Queue/InMemory.js -------------------------------------------------------------------------------- /src/Queue/Kafka.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/Queue/Kafka.js -------------------------------------------------------------------------------- /src/Queue/Redis.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/Queue/Redis.js -------------------------------------------------------------------------------- /src/StateReader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/StateReader.js -------------------------------------------------------------------------------- /src/StateStore/InMemory.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/StateStore/InMemory.js -------------------------------------------------------------------------------- /src/StateStore/Redis.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/StateStore/Redis.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/forevertz/node-event-sourcing/HEAD/src/index.js --------------------------------------------------------------------------------