Skip to content

Commit 3f74b94

Browse files
committed
Add new architectural diagram
1 parent 22e7664 commit 3f74b94

File tree

2 files changed

+158
-3
lines changed

2 files changed

+158
-3
lines changed

ARCHITECTURE.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# RangerTrak Architecture
2+
3+
This document describes the high-level architecture of the RangerTrak application.
4+
5+
```mermaid
6+
classDiagram
7+
direction TB
8+
9+
namespace Core {
10+
class AppComponent
11+
class AppRoutingModule
12+
}
13+
14+
namespace Features {
15+
class EntryComponent
16+
class FieldReportsComponent
17+
class RangersComponent
18+
class LmapComponent
19+
class GmapComponent
20+
class SettingsComponent
21+
class LogComponent
22+
class AboutComponent
23+
}
24+
25+
namespace Shared {
26+
class HeaderComponent
27+
class AlertsComponent
28+
}
29+
30+
namespace Services {
31+
class FieldReportService
32+
class RangerService
33+
class SettingsService
34+
class LogService
35+
class ClockService
36+
class InstallableService
37+
class GoogleGeocode
38+
}
39+
40+
AppComponent --> AppRoutingModule : Uses
41+
AppRoutingModule --> EntryComponent : Route
42+
AppRoutingModule --> FieldReportsComponent : Route
43+
AppRoutingModule --> RangersComponent : Route
44+
AppRoutingModule --> LmapComponent : Route
45+
AppRoutingModule --> GmapComponent : Route
46+
AppRoutingModule --> SettingsComponent : Route
47+
AppRoutingModule --> LogComponent : Route
48+
AppRoutingModule ..> AboutComponent : Lazy Route
49+
50+
EntryComponent ..> FieldReportService
51+
EntryComponent ..> RangerService
52+
EntryComponent ..> SettingsService
53+
EntryComponent ..> LogService
54+
55+
FieldReportsComponent ..> FieldReportService
56+
FieldReportsComponent ..> SettingsService
57+
FieldReportsComponent ..> LogService
58+
59+
RangersComponent ..> RangerService
60+
RangersComponent ..> SettingsService
61+
RangersComponent ..> LogService
62+
63+
LmapComponent ..> FieldReportService
64+
LmapComponent ..> SettingsService
65+
LmapComponent ..> LogService
66+
67+
GmapComponent ..> FieldReportService
68+
GmapComponent ..> SettingsService
69+
GmapComponent ..> LogService
70+
GmapComponent ..> GoogleGeocode
71+
72+
SettingsComponent ..> SettingsService
73+
SettingsComponent ..> LogService
74+
75+
LogComponent ..> LogService
76+
LogComponent ..> SettingsService
77+
78+
HeaderComponent ..> SettingsService
79+
HeaderComponent ..> ClockService
80+
```

README.md

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,84 @@ See angular.json and firebase.json
282282

283283
### 🏗️ Architecture
284284

285-
Way out of date!
286-
287-
![This architecural diagram is out-of-date -- & unimplemented yet](./non-dist-imgs/PlantUML-Class_Diagram.png "Old/future architectural diagram")
285+
See [ARCHITECTURE.md](ARCHITECTURE.md) for the updated visual architectural diagram.
286+
287+
```mermaid
288+
classDiagram
289+
direction TB
290+
291+
namespace Core {
292+
class AppComponent
293+
class AppRoutingModule
294+
}
295+
296+
namespace Features {
297+
class EntryComponent
298+
class FieldReportsComponent
299+
class RangersComponent
300+
class LmapComponent
301+
class GmapComponent
302+
class SettingsComponent
303+
class LogComponent
304+
class AboutComponent
305+
}
306+
307+
namespace Shared {
308+
class HeaderComponent
309+
class AlertsComponent
310+
}
311+
312+
namespace Services {
313+
class FieldReportService
314+
class RangerService
315+
class SettingsService
316+
class LogService
317+
class ClockService
318+
class InstallableService
319+
class GoogleGeocode
320+
}
321+
322+
AppComponent --> AppRoutingModule : Uses
323+
AppRoutingModule --> EntryComponent : Route
324+
AppRoutingModule --> FieldReportsComponent : Route
325+
AppRoutingModule --> RangersComponent : Route
326+
AppRoutingModule --> LmapComponent : Route
327+
AppRoutingModule --> GmapComponent : Route
328+
AppRoutingModule --> SettingsComponent : Route
329+
AppRoutingModule --> LogComponent : Route
330+
AppRoutingModule ..> AboutComponent : Lazy Route
331+
332+
EntryComponent ..> FieldReportService
333+
EntryComponent ..> RangerService
334+
EntryComponent ..> SettingsService
335+
EntryComponent ..> LogService
336+
337+
FieldReportsComponent ..> FieldReportService
338+
FieldReportsComponent ..> SettingsService
339+
FieldReportsComponent ..> LogService
340+
341+
RangersComponent ..> RangerService
342+
RangersComponent ..> SettingsService
343+
RangersComponent ..> LogService
344+
345+
LmapComponent ..> FieldReportService
346+
LmapComponent ..> SettingsService
347+
LmapComponent ..> LogService
348+
349+
GmapComponent ..> FieldReportService
350+
GmapComponent ..> SettingsService
351+
GmapComponent ..> LogService
352+
GmapComponent ..> GoogleGeocode
353+
354+
SettingsComponent ..> SettingsService
355+
SettingsComponent ..> LogService
356+
357+
LogComponent ..> LogService
358+
LogComponent ..> SettingsService
359+
360+
HeaderComponent ..> SettingsService
361+
HeaderComponent ..> ClockService
362+
```
288363

289364
### 🆘 Further help
290365

0 commit comments

Comments
 (0)