Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(website): report #279

Merged
merged 85 commits into from
Sep 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
b905179
docs(busrequirements): add use cases for admin and guardin
paga16-hash Aug 7, 2024
015830f
docs(funcRequirements): add user stories
paga16-hash Aug 7, 2024
3ec4752
docs(QA): add quality attributes introduction, overview and scenarios
paga16-hash Aug 8, 2024
77a9759
chore: remove spe report folder
paga16-hash Aug 19, 2024
c670665
docs(analysis): add glossary and rename file
Mala1180 Aug 19, 2024
69e7cfa
docs(website): write first version of architecture documentation
kelvin-olaiya Aug 19, 2024
be751be
docs(website): add few lines in architecture deployment documentation
kelvin-olaiya Aug 19, 2024
ba6ff73
docs(ddd): add context map and bounded contexts in-out bound events
paga16-hash Aug 19, 2024
3cf7aa4
docs(ddd): unified location events
paga16-hash Aug 20, 2024
89bdd44
docs: add web of thing doc and testing section
paga16-hash Aug 20, 2024
9a5cd47
docs: minor fixes to wot section
Mala1180 Aug 21, 2024
e22b0f9
docs(website): first version of the microservice doc page
kelvin-olaiya Aug 20, 2024
315d7e3
docs(website): complete microservice page
kelvin-olaiya Aug 20, 2024
6bd8f47
docs: add event storming images
Mala1180 Aug 21, 2024
57897ad
docs(website): refactor doc structure
kelvin-olaiya Aug 21, 2024
9e133c8
docs(website): refactor doc structure
kelvin-olaiya Aug 21, 2024
9adb849
docs(website): add devops doc page structure
kelvin-olaiya Aug 22, 2024
21371a2
docs: fix event storming images
Mala1180 Aug 22, 2024
5cf3119
docs: rename ddd into bounded-contexts
Mala1180 Aug 26, 2024
9d009f7
docs: minor fixes to bounded contexts
Mala1180 Aug 26, 2024
525848b
docs(design): rework structure, improve DDD pattern and context map s…
Mala1180 Aug 26, 2024
f71fd95
docs(website): write ci/cd on devops page
kelvin-olaiya Aug 27, 2024
fdfa0a3
docs(website): start writing release process
kelvin-olaiya Aug 27, 2024
65abecf
chore(website): add docusaurus mermaid support
kelvin-olaiya Aug 27, 2024
597b5da
docs(website): add mermaid CI/CD flowchart
kelvin-olaiya Aug 27, 2024
3faae2f
chore(website): add drawio files
kelvin-olaiya Aug 27, 2024
0c30441
docs(website): write the build automation section in devops page
kelvin-olaiya Aug 27, 2024
0eb9941
docs(website): complete devops draft
kelvin-olaiya Aug 28, 2024
306e42c
docs(uml): add updated Alarm uml
Mala1180 Aug 28, 2024
818d7b6
docs(uml): add updated Auth uml
Mala1180 Aug 28, 2024
a99f3db
docs(uml): add updated packages uml
Mala1180 Aug 28, 2024
84e5745
docs(uml): add updated User uml
Mala1180 Aug 28, 2024
6df6451
docs(uml): add Location uml
Mala1180 Aug 28, 2024
a78b47e
docs(website): fix typos
kelvin-olaiya Aug 28, 2024
e25cc91
docs(event-storming): update event storming section
Mala1180 Aug 28, 2024
4d6e394
chore(website): use prop instead of raw css
kelvin-olaiya Aug 28, 2024
69eb041
docs(uml): add updated device monitoring uml
Mala1180 Aug 28, 2024
e850586
chore(device): use VideoStreamingCapability (before unused)
Mala1180 Aug 29, 2024
e9b69e8
chore(website): create and use Image component
kelvin-olaiya Aug 29, 2024
dc34cfe
chore: specify node engine in package.json
kelvin-olaiya Aug 29, 2024
596e912
docs(uml): add notes to Device Monitoring uml
Mala1180 Aug 29, 2024
43b26a3
docs(uml): add Monitoring uml
Mala1180 Aug 29, 2024
24d7a2a
refactor(notification): add method for sending mail
Mala1180 Sep 2, 2024
1a02e14
refactor(notification): add env vars in order to send email
Mala1180 Sep 2, 2024
1eb0209
docs(uml): add uml for Notification
Mala1180 Sep 2, 2024
35d8179
docs(uml): add Domain Events uml
Mala1180 Sep 2, 2024
792829e
docs(uml): refactor Device uml
Mala1180 Sep 2, 2024
dc614a4
chore(website): update deployment diagram
kelvin-olaiya Sep 2, 2024
2e32419
docs(website): use summary to hide code blocks
kelvin-olaiya Sep 2, 2024
0226dde
docs(website): add communication patterns section in MS patterns
kelvin-olaiya Sep 2, 2024
71b8fe1
docs(uml): minor fixes to uml
Mala1180 Sep 2, 2024
89fbb05
docs: introduce detailed design and Recognition/Log uml
Mala1180 Sep 2, 2024
89b6397
docs(website): complete microservice pattern page
kelvin-olaiya Sep 3, 2024
04d8bbe
chore(website): augment the border radius is the summary component
kelvin-olaiya Sep 3, 2024
7476537
docs(website): remove service discovery for later reference in the de…
kelvin-olaiya Sep 3, 2024
c503d44
docs: update detailed design
Mala1180 Sep 6, 2024
7fa6378
docs: refactor report structure, minor fixes
Mala1180 Sep 9, 2024
74b9b18
docs(deployment): docker and k3s deployment doc, wip
paga16-hash Sep 9, 2024
de88c21
docs(deployment): add deployment section, only little rework to do
paga16-hash Sep 9, 2024
85b9606
chore: remove type
paga16-hash Sep 9, 2024
a27a106
docs(deployment): refactor
paga16-hash Sep 10, 2024
366b34a
docs(deployment): little refinement
paga16-hash Sep 10, 2024
1132792
docs(deployment): add deployment diagram
paga16-hash Sep 10, 2024
3410559
docs(deployment): correct image
paga16-hash Sep 10, 2024
50b6418
docs(implementation): add principles, technologies and multiplatform …
paga16-hash Sep 10, 2024
b5b9de6
docs(intro): rewrite some sentences
paga16-hash Sep 10, 2024
a5853fa
docs(microservices): add decomposition strategy section
Mala1180 Sep 11, 2024
ea384e5
docs(implementation): rephrase some sentences
Mala1180 Sep 11, 2024
4dbd36e
docs(deployment): minor fixes ad rephrasing
Mala1180 Sep 11, 2024
c4df052
docs(deployment): move revue deployment mapping description (k3s) fro…
paga16-hash Sep 12, 2024
f1dc08b
docs(deployment): add Horizontal pod autoscaler section
paga16-hash Sep 12, 2024
d3591f3
docs(deployment): add Horizontal pod autoscaler image and sample conf
paga16-hash Sep 12, 2024
f04e4df
docs(deployment): divide compose and kubernetes in section
paga16-hash Sep 12, 2024
caa0867
docs(deployment): add benchmark section
paga16-hash Sep 12, 2024
4df753b
docs(conclusions): add conclusion
paga16-hash Sep 16, 2024
de20f62
chore: rationalise doc page
kelvin-olaiya Sep 16, 2024
4b804f5
chore: update readme
Mala1180 Sep 13, 2024
505bb19
docs(website): add some summarize components
kelvin-olaiya Sep 17, 2024
c9d12cb
docs(deployment): update titles
Mala1180 Sep 17, 2024
db0c88d
docs: add license part
Mala1180 Sep 18, 2024
debd572
docs(analysis): restructure analysis phase
Mala1180 Sep 18, 2024
2883cee
docs(analysis): add energy efficiency attribute
Mala1180 Sep 18, 2024
a24ba72
chore: rephrasing
Mala1180 Sep 18, 2024
87bab59
docs(website): refinement website
paga16-hash Sep 18, 2024
b5459a6
Merge branch 'main' into feature/intro-documentation
Mala1180 Sep 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ the [revue-sample-thing](https://github.com/revue-org/revue-sample-thing) reposi
### Frontend

[![Vue](https://img.shields.io/badge/Vue-4FC08D?style=for-the-badge&logo=vuedotjs&logoColor=white)](https://vuejs.org/)
[![WebRTC](https://img.shields.io/badge/WebRTC-333333?style=for-the-badge&logo=webrtc&logoColor=white)](https://webrtc.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)

### Backend
Expand All @@ -35,6 +34,7 @@ the [revue-sample-thing](https://github.com/revue-org/revue-sample-thing) reposi
[![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge&logo=docker&logoColor=white)](https://docker.com)
[![Apache Kafka](https://img.shields.io/badge/Apache_Kafka-231F20?style=for-the-badge&logo=apachekafka&logoColor=white)](https://kafka.apache.org/)
[![Traefik](https://img.shields.io/badge/Traefik-24A1C1?style=for-the-badge&logo=traefikproxy&logoColor=white)](https://doc.traefik.io/traefik/)
[![WebRTC](https://img.shields.io/badge/WebRTC-333333?style=for-the-badge&logo=webrtc&logoColor=white)](https://webrtc.org/)
[![Minikube](https://img.shields.io/badge/Minikube-F7B93E?style=for-the-badge&logo=kubernetes&logoColor=white)](https://minikube.sigs.k8s.io/docs/)
[![Kubernetes](https://img.shields.io/badge/Kubernetes-326CE5?style=for-the-badge&logo=kubernetes&logoColor=white)](https://kubernetes.io/)
[![Helm](https://img.shields.io/badge/Helm-0F1689?style=for-the-badge&logo=helm&logoColor=white)](https://helm.sh/)
Expand All @@ -59,8 +59,7 @@ the [revue-sample-thing](https://github.com/revue-org/revue-sample-thing) reposi
## Prerequisites

- [Docker](https://docker.com) (for development mode)
- [Minikube](https://minikube.sigs.k8s.io/docs/), [Kubectl](https://kubernetes.io/docs/tasks/tools/)
and [Helm](https://helm.sh/) (for production mode)
- [Kubectl](https://kubernetes.io/docs/tasks/tools/) and [Helm](https://helm.sh/) (for production mode)

## Getting Started

Expand Down
3 changes: 2 additions & 1 deletion device/src/domain/factories/CapabilityFactory.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { CapabilityType } from '@/domain/core/capabilities/CapabilityType.js'
import { Measure } from '@common/domain/core/Measure.js'
import { SensoringCapability } from '@/domain/core/capabilities/SensoringCapability.js'
import { VideoStreamingCapability } from '@/domain/core/capabilities/VideoStreamingCapability.js'

export class CapabilityFactory {
static sensoringCapabilityOf(capturingInterval: number, measure: Measure): SensoringCapability {
Expand All @@ -11,7 +12,7 @@ export class CapabilityFactory {
}
}

static videoStreamingCapabilityOf(resolution: '576p' | '720p' | '1080p' | '4k') {
static videoStreamingCapabilityOf(resolution: '576p' | '720p' | '1080p' | '4k'): VideoStreamingCapability {
return {
type: CapabilityType.VIDEO,
resolution
Expand Down
89 changes: 0 additions & 89 deletions docs/spe-report/01-requirements.md

This file was deleted.

104 changes: 0 additions & 104 deletions docs/spe-report/02-ddd.md

This file was deleted.

17 changes: 0 additions & 17 deletions docs/spe-report/03-architecture.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/spe-report/04-detailed-design.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/spe-report/05-implementation.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/spe-report/06-testing.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/spe-report/07-deployment.md

This file was deleted.

1 change: 0 additions & 1 deletion docs/spe-report/08-conclusions.md

This file was deleted.

9 changes: 0 additions & 9 deletions docs/spe-report/index.md

This file was deleted.

111 changes: 111 additions & 0 deletions docs/uml/domain/bounded-context/new/Alarm.puml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
@startuml

interface DomainEvent

interface AlarmEventsHub {
+publishAnomaly(anomaly: Anomaly): void
+subscribeToMeasurements(handler: Runnable): void
+subscribeToDetections(handler: Runnable)): void
+addMeasurementTopics(topics: string[]): void
+removeMeasurementTopics(topics: string[]): void
+subscribeToDevices(handler: Runnable): void
}
note left of AlarmEventsHub : Service
AlarmEventsHub -right-> SecurityRule : uses
AlarmEventsHub --> DomainEvent : uses
note right of DomainEvent : Anomaly,\nDeviceEvent,\nDetection,\nMeasurement



interface AlarmService {
+getSecurityRuleById(id: SecurityRuleId): SecurityRule
+getRangeRules(): RangeRule[]
+getIntrusionRules(): IntrusionRule[]
+createRangeRule(...): SecurityRuleId
+createIntrusionRule(...): SecurityRuleId
+updateRangeRule(...): void
+updateIntrusionRule(...): void
+enableSecurityRule(id: SecurityRuleId): void
+disableSecurityRule(id: SecurityRuleId): void
+deleteSecurityRule(id: SecurityRuleId): void
+getSecurityRuleContacts(id: SecurityRuleId): Contact[]
}
note top of AlarmService : Service


AlarmService -left-> SecurityRuleRepository : uses
AlarmService --> SecurityRuleFactory : uses

interface SecurityRuleRepository {
getSecurityRules(): SecurityRule[]
getSecurityRuleById(id: SecurityRuleId): SecurityRule
saveSecurityRule(securityRule: SecurityRule): void
updateSecurityRule(securityRule: SecurityRule): void
removeSecurityRule(securityRuleId: SecurityRuleId): void
getRangeRules(): RangeRule[]
getIntrusionRules(): IntrusionRule[]
enableSecurityRule(securityRuleId: SecurityRuleId): void
disableSecurityRule(securityRuleId: SecurityRuleId): void
}
note top of SecurityRuleRepository : Repository


interface SecurityRuleId {
+ value: string
}

interface SecurityRule {
+ type: SecurityRuleType
+ id: SecurityRuleId
+ creatorId: string
+ activeOn: string
+ description: string
+ contacts: Contact[]
+ enabled: boolean
+ validity: TimeSlot
}

note left of SecurityRule : Entity

SecurityRuleRepository --> SecurityRule: uses

interface TimeSlot {
+ from: Date
+ to: Date
}
note right of TimeSlot : Value Object

interface SecurityRuleFactory {
+ intrusionRuleOf(...): IntrusionRule
+ createIntrusionRule(...): IntrusionRule
+ rangeRuleOf(...): RangeRule
+ createRangeRule(...): RangeRule
}
note right of SecurityRuleFactory : Factory

SecurityRuleFactory -left-> SecurityRule : creates
SecurityRule *-- SecurityRuleId

interface IntrusionRule {
+ objectClass: ObjectClass
}
IntrusionRule o-- ObjectClass

interface RangeRule {
+ min: Float
+ max: Float
+ measure: Measure
}

enum ObjectClass {
PERSON
BICYCLE
CAR
...
}

SecurityRule <|-- RangeRule
SecurityRule <|-- IntrusionRule
SecurityRule *-- TimeSlot

@enduml
Loading