mirror of
https://github.com/DOI-DO/j40-cejst-2.git
synced 2025-02-22 09:41:26 -08:00
Architecture Diagram and Process (#33)
* Use compile mermaid extension * initial Mermaid arch diagram * updating mmd extension * small mmd update * Adding git add step * Expanding acronym * adding branch spec * Add changes * outputting SVG instead as PNG is too small * Add changes * updating readme * Backlog->Roadmap * Add changes * Updating casing for consistency * Updating documentation to specify 'update' section applies just to diagram Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
parent
534f8b2308
commit
54fa016af1
4 changed files with 101 additions and 0 deletions
52
.github/workflows/compile_mermaid.yml
vendored
Normal file
52
.github/workflows/compile_mermaid.yml
vendored
Normal file
|
@ -0,0 +1,52 @@
|
|||
name: 'Compile Mermaid in Markdown'
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- '**/*.mmd'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Project
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: Get Changed Files
|
||||
id: getfile
|
||||
run: |
|
||||
echo "::set-output name=files::$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }} | grep -e '.*\.mmd$' | xargs)"
|
||||
|
||||
- name: Print mmd Files Changed
|
||||
run: |
|
||||
echo ${{ steps.getfile.outputs.files }}
|
||||
|
||||
- name: Compile Mermaid Files
|
||||
uses: neenjaw/compile-mermaid-markdown-action@0.3.1
|
||||
with:
|
||||
files: ${{ steps.getfile.outputs.files }}
|
||||
output: '.resources'
|
||||
env:
|
||||
HIDE_CODEBLOCKS: 1
|
||||
ABSOLUTE_IMAGE_LINKS: 1
|
||||
OUTPUT_FILE_TYPE: "svg"
|
||||
|
||||
- name: Show Changes
|
||||
run: |
|
||||
git status
|
||||
|
||||
- name: Commit Files
|
||||
run: |
|
||||
git config --local user.email "action@github.com"
|
||||
git config --local user.name "GitHub Action"
|
||||
git add .
|
||||
git commit -m "Add changes" -a
|
||||
|
||||
- name: Push Changes
|
||||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: ${{ github.ref }}
|
21
docs/architecture/README.md
Normal file
21
docs/architecture/README.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Architecture
|
||||
|
||||
The below is a general architecture of our proposed system:
|
||||
|
||||

|
||||
|
||||
## Updating the Diagram
|
||||
|
||||
**Note: Do Not directly modify the svg file, it is generated automatically!**
|
||||
|
||||
In the event that you are interested in updating the architecture of our system, please go through the Architecture Decision Record Process (see [here](https://github.com/usds/justice40-tool/tree/main/docs/decisions) for more detail on this process).
|
||||
|
||||
Provided you have already done this, however, and/or would like to make small changes to the diagram itself, please read on!
|
||||
|
||||
This diagram was generated from a text-based markdown-like file using [MermaidJS](https://mermaid-js.github.io/) syntax and the [Compile Mermaid Markdown](https://github.com/marketplace/actions/compile-mermaid-markdown) Github Action.
|
||||
|
||||
To update, consult Mermaid syntax [here](https://mermaid-js.github.io/mermaid/#/flowchart) and update the `architecture.mmd` file.
|
||||
|
||||
To preview your changes, see Use Cases and Integrations [here](https://mermaid-js.github.io/mermaid/#/integrations) in order to setup editor integration.
|
||||
|
||||
Once you are satisfied with your change, create a pull request. The `compile_mermaid.yml` workflow ([here](https://github.com/usds/justice40-tool/blob/main/.github/workflows/compile_mermaid.yml)) will automatically generate and commit an SVG version of your diagram with the name `X.svg`.
|
1
docs/architecture/architecture-mmd.svg
Normal file
1
docs/architecture/architecture-mmd.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 26 KiB |
27
docs/architecture/architecture.mmd
Normal file
27
docs/architecture/architecture.mmd
Normal file
|
@ -0,0 +1,27 @@
|
|||
graph LR
|
||||
subgraph ds["Data Selection"]
|
||||
Intake --> Roadmap --> Voting
|
||||
end
|
||||
subgraph dp["Data Pipeline"]
|
||||
Voting --> Approved
|
||||
Approved --> Properties
|
||||
Approved --> Geometries
|
||||
Properties --> GeoJSON
|
||||
Geometries --> GeoJSON
|
||||
end
|
||||
subgraph s["Server(s)"]
|
||||
GeoJSON --> db[("Feature Database")]
|
||||
db --> tileserv["Tile Server"]
|
||||
tileserv --> lb["Load Balancer"]
|
||||
lb --> auth["Auth, IP Allowlist, API Key, OpenAPI"]
|
||||
auth --> api
|
||||
end
|
||||
subgraph j40["Justice40 Client"]
|
||||
api --> vl["Justice40 Visualization Library"]
|
||||
ts["Tile Styling"] --> vl
|
||||
vl --> fe["Justice40 Static Site Frontend"]
|
||||
end
|
||||
subgraph oc["Other Clients"]
|
||||
api --> 3p["Third Party Apps"]
|
||||
end
|
||||
|
Loading…
Add table
Reference in a new issue