Skip to content

Commit d329574

Browse files
committed
docs: improve project overwview
1 parent 03d7ee3 commit d329574

File tree

3 files changed

+211
-70
lines changed

3 files changed

+211
-70
lines changed

README.md

+36
Original file line numberDiff line numberDiff line change
@@ -1 +1,37 @@
11
# ioaiaaii.net
2+
3+
So, this is an over-engineered website :).
4+
Wanted to gather my work from here and there and to maintain o project for experiments.
5+
This is a BFF, with Vue.js and Go backend, engineered using Clean Architecture and adhering to SRE principles.
6+
7+
## System Design and API Spec
8+
9+
![Architecture](./docs/desing/diagram.svg)
10+
11+
## ADRs
12+
13+
## Release Engineering
14+
TBD
15+
### Repo Operator
16+
TBD
17+
### Build
18+
TBD
19+
- distroless
20+
- kaniko
21+
- hermetic
22+
23+
### CI
24+
25+
TBD
26+
- GH Workflows caching
27+
- resuable
28+
29+
### Releasing
30+
TBD
31+
### Packaging
32+
TBD
33+
## Observability
34+
TBD
35+
36+
## Profiling and Capacity Planning
37+
TBD

docs/desing/diagram.d2

+31-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,34 @@
1-
Frontend -> API: "API Requests (/api/*)"
1+
vars: {
2+
d2-config: {
3+
center: true
4+
layout-engine: elk #https://github.com/terrastruct/tala?tab=readme-ov-file#installation
5+
theme-id: 300
6+
}
7+
}
8+
classes: {
9+
otel_collector: {
10+
icon: https://avatars.githubusercontent.com/u/49998002?s=280&v=4
11+
shape: image
12+
label: "OTEL Collector" # No text under Grafana
13+
}
14+
fiber: {
15+
icon: https://gofiber.io/assets/images/logo.svg
16+
shape: image
17+
label: "Fiber" # No text under Grafana
18+
}
19+
}
20+
21+
OTEL.class: otel_collector
22+
Fiber.class: fiber
23+
24+
Frontend <-> API: "API Request/Response (/api/*)"
225
API: {
326
label: "API"
4-
5-
WebServer -> UseCases: "Call Use Cases"
6-
UseCases -> Repositories: "Fetch Data from Repository"
7-
Repositories -> DataSource: "Load Data from Files"
8-
9-
WebServer <- UseCases: "Return Processed Data"
27+
transport -> _.Fiber
28+
transport -> controller
29+
controller <-> usecase: "Call Use Cases"
30+
usecase <-> repository: "Fetch Data from Repository"
31+
repository <-> persistence: "Load Data from Files"
32+
controller -> telemetry: "OTEL Instrumentation"
33+
telemetry -> _.OTEL
1034
}
11-
12-
API -> Frontend: "Response (JSON)"

0 commit comments

Comments
 (0)