From c3663c8aaf6a2408afed89079407bd8d894e7121 Mon Sep 17 00:00:00 2001 From: Rohit Sachdeva Date: Thu, 26 Sep 2024 10:54:22 -0500 Subject: [PATCH] Add current system design - main components. WIP --- .github/workflows/rust.yml | 74 ++++++++++++++++++++++++++++++++++++++ DriveDeposits.drawio.svg | 4 +++ README.md | 9 ++++- justfile | 17 +++++++++ 4 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 DriveDeposits.drawio.svg diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 03350bf..50cb57f 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -103,6 +103,80 @@ jobs: - name: Run unit and integration tests run: just test +# test-e2e: +# runs-on: ubuntu-latest +# steps: +# - name: Checkout repository +# uses: actions/checkout@v4 +# +# # Note: Rust is preinstalled on GitHub runners (example shows rustc 1.80.1, cargo 1.80.1 as of this commit) +# # - name: Set up Rust +# # uses: dtolnay/rust-toolchain@stable +# - name: Check Rust version +# run: | +# echo "Installed rustc version:" +# rustc --version +# echo "Installed cargo version:" +# cargo --version +# +# - name: Check Docker version +# run: | +# echo "Installed docker version:" +# docker --version +# +# - name: Install Just +# uses: extractions/setup-just@v2 +# +# - name: Check Just version +# run: | +# echo "Installed just version:" +# just --version +# +# - name: Install protoc +# uses: taiki-e/install-action@v2 +# with: +# tool: protoc@3.28.0 +# +# - name: Check protoc version +# run: | +# echo "Installed protoc version:" +# protoc --version +# +# - name: Install Cargo Lambda +# run: | +# pip3 install cargo-lambda +# echo "Installed cargo lambda version:" +# cargo lambda --version +# +# - name: Run localstack detached +# run: | +# just localstack-start-detached +# echo "Started localstack container" +# +# - name: Wait for LocalStack +# run: | +# while ! nc -z localhost 4566; do +# echo "Waiting for LocalStack to be ready..." +# sleep 1 +# done +# +# - name: Install AWS SAM LOCAL CLI +# run: | +# sudo apt-get update +# sudo apt-get install -y python3-pip +# pip3 install aws-sam-cli-local +# echo "Installed AWS SAM CLI version:" +# samlocal --version +# +# - name: Run e2e tests; with deployment to localstack +# run: just test-e2e +# +# - name: Stop and remove localstack container +# if: always() +# run: | +# just localstack-stop +# echo "Stopped and removed localstack container" + # deploy: # runs-on: ubuntu-latest # needs: build diff --git a/DriveDeposits.drawio.svg b/DriveDeposits.drawio.svg new file mode 100644 index 0000000..1d2f823 --- /dev/null +++ b/DriveDeposits.drawio.svg @@ -0,0 +1,4 @@ + + + +
REST HTTP Gateway Server
REST HTTP Gateway S...
gRPC Server
gRPC Server
Calculation Engine
Calculation Engine
POST Request
POST Request
Same POST request
Same POST req...
GET Requests By Level
GET Requests...
Hybrid testing tool: Check Command
Hybrid testing tool...
          Same Data                  Transformations
Same Data...
{{api_gateway_host}}/by-level-for-portfolios/delta-growth?&order=desc&top_k=50


{{api_gateway_host}}/portfolios/{{aws_portfolio_uuid}}/by-level-for-banks/delta-growth?order=desc&top_k=4


{{api_gateway_host}}/portfolios/{{aws_portfolio_uuid}}/by-level-for-deposits/delta-growth?order=desc&top_k=4


{{api_gateway_host}}/portfolios/{{aws_portfolio_uuid}}/by-level-for-deposits/maturity-date?order=asc&top_k=17


{{api_gateway_host}}/by-level-for-portfolios/delta-growth?&order=desc&top_k=50...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/README.md b/README.md index e4d4a15..e2752e4 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ - [Development Tool: LocalStack](#development-tool-localstack) - [Clean And Build](#clean-and-build) - [Configurations for DriveDeposits](#configurations-for-drivedeposits) +- [Current System Design](#current-system-design) - [Member crates in workspace](#member-crates-in-workspace) ### Domain Driven Terminology: @@ -291,7 +292,7 @@ a Lambda function connected to DynamoDB. `just post-calculate-portfolio-valid` -Follow up with [Data population and Querying](#data-population-and-querying) section to see how to query the data. +Follow up with [Data population](#data-population) section to see how to query the data. #### Command for AWS Lambda Invoke Check Directly @@ -508,6 +509,12 @@ AWS deployments. [Back to Table of Contents](#table-of-contents) +### Current System Design + +![DriveDeposits.drawio.svg](DriveDeposits.drawio.svg) + +[Back to Table of Contents](#table-of-contents) + ### Member crates in workspace See cargo workspace members: diff --git a/justfile b/justfile index 19ce5bc..ddd5cd8 100644 --- a/justfile +++ b/justfile @@ -269,8 +269,25 @@ localstack-start:localstack-build docker run -p 4566:4566 -p 4510-4559:4510-4559 \ -v ${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack \ -v /var/run/docker.sock:/var/run/docker.sock \ + --name localstack-container \ custom-localstack +localstack-start-detached:localstack-build + # Run a container from the built image, mapping the ports + docker run -d -p 4566:4566 -p 4510-4559:4510-4559 \ + -v ${LOCALSTACK_VOLUME_DIR:-./volume}:/var/lib/localstack \ + -v /var/run/docker.sock:/var/run/docker.sock \ + --name localstack-container \ + custom-localstack + +localstack-logs: + # View logs of the LocalStack container + docker logs localstack-container + +localstack-stop: + docker stop localstack-container && \ + docker rm localstack-container + # after localstack started # in localstack event source with bus localstack-build-drive-deposits-event-bus: