Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j5ik2o/cqrs-es-example-js
An example of CQRS/Event Sourcing and GraphQL implemented in TypeScript.
https://github.com/j5ik2o/cqrs-es-example-js
cqrs ddd event-sourcing graphql
Last synced: 12 days ago
JSON representation
An example of CQRS/Event Sourcing and GraphQL implemented in TypeScript.
- Host: GitHub
- URL: https://github.com/j5ik2o/cqrs-es-example-js
- Owner: j5ik2o
- License: apache-2.0
- Created: 2024-02-15T05:18:52.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-10-29T08:18:43.000Z (19 days ago)
- Last Synced: 2024-10-29T09:37:34.569Z (19 days ago)
- Topics: cqrs, ddd, event-sourcing, graphql
- Language: TypeScript
- Homepage:
- Size: 1.8 MB
- Stars: 13
- Watchers: 2
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.ja.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# cqrs-es-example-js
[![CI](https://github.com/j5ik2o/cqrs-es-example-js/actions/workflows/ci.yml/badge.svg)](https://github.com/j5ik2o/cqrs-es-example-js/actions/workflows/ci.yml)
[![Renovate](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://renovatebot.com)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![](https://tokei.rs/b1/github/j5ik2o/cqrs-es-example-js)](https://github.com/XAMPPRocky/tokei)## Overview
これは、TypeScriptで実装されたCQRS/イベントソーシングおよびGraphQLの例です。
このプロジェクトはイベントソーシングのために[j5ik2o/event-store-adapter-js](https://github.com/j5ik2o/event-store-adapter-js)を使用しています。
[English](./README.md)
## 特徴
- [x] Write API Server(GraphQL)
- [x] Read API Server(GraphQL)
- [x] Read Model Updater on Local
- [x] Docker Compose Support
- [ ] Read Model Updater on AWS Lambda
- [ ] Deployment to AWS## 概要
### コンポーネント構成
- 書き込みAPIサーバー
- APIはGraphQL(Mutation)によって実装されています
- イベントソース化されたアグリゲートは[j5ik2o/event-store-adapter-js](https://github.com/j5ik2o/event-store-adapter-js)によって実装されています
- GraphQLサーバーは[apollographql/apollo-server](https://github.com/apollographql/apollo-server)、GraphQLスキーマツールは[MichalLytek/type-graphql](https://github.com/MichalLytek/type-graphql)
- Read Model Updater
- ジャーナルに基づいてリードモデルを構築するLambda
- ローカルでは、Lambdaの動作をエミュレートするコードを実行します(local-rmu)
- 読み取りAPIサーバー
- APIはGraphQL(Query)によって実装されています
- GraphQLサーバーは[apollographql/apollo-server](https://github.com/apollographql/apollo-server)、GraphQLスキーマツールは[MichalLytek/type-graphql](https://github.com/MichalLytek/type-graphql)、ORMは[prisma](https://github.com/prisma/prisma)### System Architecture Diagram
![](docs/images/system-layout.png)
## Development Environment
- [ツールのセットアップ](./docs/TOOLS_INSTALLATION.ja.md)
- [ビルドとテスト](./docs/BUILD_AND_TEST.ja.md)### ローカル環境
- [ローカルマシンでのデバッグ](docs/DEBUG_ON_LOCAL_MACHINE.md)
- [Docker Composeでのデバッグ](docs/DEBUG_ON_DOCKER_COMPOSE.md)## Links
- [Common Documents](https://github.com/j5ik2o/cqrs-es-example)