Compare commits

...

8 Commits

Author SHA1 Message Date
99be9e40c2 [P] Update diagram to reflect projet usecase
All checks were successful
Component testing / Hub testing (push) Successful in 22s
Component testing / Store testing (push) Successful in 47s
Component testing / Integration smoke testing (push) Successful in 2m54s
2026-03-29 12:41:29 +03:00
c1d11bc53a [P] Add primary use-case activity diagram 2026-03-29 12:39:16 +03:00
e515cd3b6b [P] Simplify general sequence diagram 2026-03-29 12:39:16 +03:00
502226a2c9 [P] Move diagrams into a dedicated directory 2026-03-29 12:39:16 +03:00
070e0c2b00 [P] Convert use case diagram files to PlantUML format 2026-03-29 12:39:16 +03:00
14c5c35787 [P] Convert sequence diagram files to PlantUML format 2026-03-29 12:39:16 +03:00
98e0512fbe Add use-case and sequence diagrams 2026-03-29 12:39:16 +03:00
2164003482 [P] Integrate additional store testing into CI pipeline
Some checks failed
Component testing / Hub testing (push) Successful in 25s
Component testing / Store testing (push) Successful in 45s
Component testing / Integration smoke testing (push) Failing after 11m40s
2026-03-27 20:19:34 +02:00
6 changed files with 72 additions and 1 deletions

View File

@@ -28,18 +28,27 @@ jobs:
- name: Clone repository - name: Clone repository
run: git clone --revision ${{ gitea.sha }} --depth 1 ${{ gitea.server_url }}/${{ gitea.repository }} run: git clone --revision ${{ gitea.sha }} --depth 1 ${{ gitea.server_url }}/${{ gitea.repository }}
- name: Start postgres_db container for testing
working-directory: IoT-Systems
run: docker-compose up -d postgres_db
- name: Build Store testing container - name: Build Store testing container
working-directory: IoT-Systems working-directory: IoT-Systems
run: docker build -t local/store/${{gitea.sha}} -f store/Dockerfile-test . run: docker build -t local/store/${{gitea.sha}} -f store/Dockerfile-test .
- name: Run Store tests - name: Run Store tests
working-directory: IoT-Systems working-directory: IoT-Systems
run: docker run --rm -it local/store/${{gitea.sha}} run: docker run --network host --rm -it local/store/${{gitea.sha}}
- name: Clean up containers - name: Clean up containers
if: ${{always()}} if: ${{always()}}
run: docker image rm local/store/${{gitea.sha}} run: docker image rm local/store/${{gitea.sha}}
- name: Clean up docker-compose
if: ${{always()}}
working-directory: IoT-Systems
run: docker-compose down -v --remove-orphans
integration-smoke-test: integration-smoke-test:
name: Integration smoke testing name: Integration smoke testing
runs-on: host-arch-x86_64 runs-on: host-arch-x86_64

View File

@@ -0,0 +1,22 @@
@startuml
actor Worker as worker
participant Agent as agent
participant "Edge" as edge
participant "Hub" as hub
participant "Store" as store
participant "MapView" as mapview
actor Spectator as spectator
worker -> agent : Start agent
agent -> edge : Send sensor data
edge -> edge : Classify road state
edge -> hub : Send processed data
hub -> hub : Save processed data
hub -> store : Send processed data batch
store -> store : Save processed data batch
store -> mapview : Send new rows
mapview -> spectator : Show updated paths and markers
spectator -> mapview : Click on markers
mapview -> spectator : Hide clicked markers
mapview -> store : Save display preference
@enduml

View File

@@ -0,0 +1,15 @@
@startuml
|Користувач|
start
:Натискає на іконку ями;
|Система|
:Запитує підтвердження видалення ями;
|Користувач|
:Підтверджує видалення ями;
|Система|
:Модифікує запис про яму;
note right #ff9999: Можлива виключна ситуація 1
:Видаляє яму;
|Користувач|
stop
@enduml

23
diagrams/use-case.puml Normal file
View File

@@ -0,0 +1,23 @@
@startuml
rectangle IoT-Systems {
usecase "Collect telemetry (accelerometer + GPS)" as uc1
usecase "Send telemetry" as uc2
usecase "Process telemetry" as uc3
usecase "Determine road condition (pothole / bump /\nnormal)" as uc4
usecase "View road defect marks" as uc5
usecase "View route on map" as uc6
}
rectangle "The user is the card operator" as uc10
rectangle "Sensor Agent\n(Device/STM32/Emulator)" as uc11
uc11 - uc1
uc11 - uc2
uc10 - uc5
uc10 - uc6
uc2 -.|> uc3 : <<include>>
uc3 -.|> uc4 : <<include>>
@enduml

View File

@@ -6,6 +6,7 @@ WORKDIR /app
COPY store/requirements.txt . COPY store/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt
RUN pip install --root-user-action ignore --no-cache-dir pytest httpx
# Copy the entire application into the container # Copy the entire application into the container
COPY store/. . COPY store/. .
# Run the main.py script inside the container when it starts # Run the main.py script inside the container when it starts

View File

@@ -1,3 +1,4 @@
#!/bin/sh #!/bin/sh
PYTHONPATH=$PWD python3 test/main_test.py PYTHONPATH=$PWD python3 test/main_test.py
PYTHONPATH=$PWD python3 -m pytest test_db.py