From 2426d8d8d1f58266922b3073a8296e403680bbf2 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Sun, 15 Jun 2025 11:08:16 +0200 Subject: [PATCH 1/2] refactor(doc): update Kruchten container Update container view of the Kruchten 4+1 diagram to correspond to actual architecture of the project. Signed-off-by: Klagarge --- docs/2-Container-Server.svg | 1174 +++++++++++++++++------------------ 1 file changed, 582 insertions(+), 592 deletions(-) diff --git a/docs/2-Container-Server.svg b/docs/2-Container-Server.svg index 988ca1a..5598a42 100644 --- a/docs/2-Container-Server.svg +++ b/docs/2-Container-Server.svg @@ -1,12 +1,12 @@ + inkscape:current-layer="svg669" + showguides="true"> + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + d="M 0.92115998,390.3023 H 663.4369 V 971.7431 H 0.92115998 Z" + id="path223" + sodipodi:nodetypes="ccccc" /> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + - + transform="translate(-430.18035,-43.74218)"> - - - - - - - - - - + id="g1" + transform="translate(-246.16812,-30.93169)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + transform="translate(-406.31632,-42.49941)"> - - + + + + + + + + + + + + - - - - - + id="g584-9" + transform="translate(-338.52111,-12.82695)"> - - - - + id="use580-6" /> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + transform="translate(-430.18035,-43.74218)"> + + transform="translate(-570.79818,-44.40255)"> + + + Get Data + Store Data + 2025-06-12 From 01ad66daa8b6342bdb2e3483710ea6cfdbcec3d5 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Sun, 15 Jun 2025 11:24:09 +0200 Subject: [PATCH 2/2] doc: added project documentation Add documentation according to the requirements of the project. Including: - Project flow (git flow or trunk-base flow) - Architecture with Kruchten diagram (context+container) - Explanation of points that deviate from requirements - Detail information about how run each parts Signed-off-by: Klagarge --- README.md | 75 ++++++++++++++++++++++++++++++++++-- docs/ci-strategy.md | 1 + docs/poker_planning_retro.md | 2 +- 3 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 docs/ci-strategy.md diff --git a/README.md b/README.md index f24285e..9521da3 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,77 @@ This monorepo hosts all parts of the project for the Software Engineering course # Table of contents

+Project flow • +ArchitectureAuthors • -License +Licence

+# Project flow +[(Back to top)](#table-of-contents) + +For our project, we choose a flow near to a Trunk-based flow. +The Main idea was to keep shot-branch directly merged to the main branch. + +We diverge from the Trunk-based flow in the sense that we don't have a release branch. Release would be directly a +tag in the main as we decide to have only atomic commits in the main branch. We don't create a new release on each +merge, +but all merges are releasable. + +We also have an additional constraint. We need a semi-linear history on the main branch. This means that we don't +have several branches in parallel in the history. +We need to rebase our own branch before merging it to the main branch. +The purpose of this constraint is to have a clean history and to be able to use the `git bisect` command to find +bugs easily. + + + +# Architecture +[(Back to top)](#table-of-contents) + +![2-Container-Server.svg](docs/2-Container-Server.svg) + +As required by the course, we have dockerized all parts of the project. +But we deploy all our components on a real server (*.mse.kb28.ch). This server auto-fetches new docker image with the +watchtower service to auto-deploy new versions of the components. + +In addition to using our own server, we also push all the time data with other connected sensors. +So, as we have a lot of data, we don't display the 100 last measurements as requested, but the last 24h of +measurements (This design choice was validated by Mr. S. Fringeli). + +## Web application +[(Back to top)](#table-of-contents) + +The web application is deployed on the server at the following URL: [app.mse.kb28.ch](https://app.mse.kb28.ch).
+The most interesting measurement is under Rémi -> Terrasse -> Shed. + +More details in [web-app/README.md](web-app/README.md). + + +## Gateway MQTT / Rest API / influxDB +[(Back to top)](#table-of-contents) + +The MQTT part is accessible via the following URL: `mqtt.mse.kb28.ch` on the port `1883`. + +The Rest API is accessible via the following URL: [rest.mse.kb28.ch](https://rest.mse.kb28.ch/) with swagger +documentation on the following URL: [rest.mse.kb28.ch/swagger/index.html](https://rest.mse.kb28.ch/swagger/index.html). + + +## Influx DB +[(Back to top)](#table-of-contents) + +The InfluxDB is deployed on the server at the following URL: [influxdb.mse.kb28.ch](http://influx.mse.kb28.ch:8086/). +
+Credentials are available [on request](mailto:remi@heredero.ch). + + +## Pico Sensor +[(Back to top)](#table-of-contents) + +Details in [pico-sensor/README.md](pico-sensor/README.md). + + + # Authors [(Back to top)](#table-of-contents) @@ -21,9 +88,11 @@ This monorepo hosts all parts of the project for the Software Engineering course * [Rémi Heredero](https://github.com/Klagarge) * [Yann Sierro](https://github.com/Fastium) -# License + + +# Licence [(Back to top)](#table-of-contents) * This repository is under GPL 3.0 -* Some parts can be under other licenses, they are specified in the README of the concerned part \ No newline at end of file +* Some parts can be under other licences, they are specified in the README of the concerned part \ No newline at end of file diff --git a/docs/ci-strategy.md b/docs/ci-strategy.md new file mode 100644 index 0000000..4f23c69 --- /dev/null +++ b/docs/ci-strategy.md @@ -0,0 +1 @@ +C.f. [Project Flow](../README.md#project-flow) \ No newline at end of file diff --git a/docs/poker_planning_retro.md b/docs/poker_planning_retro.md index 7ec3ac1..fc73574 100644 --- a/docs/poker_planning_retro.md +++ b/docs/poker_planning_retro.md @@ -1,4 +1,4 @@ -# Pokerregistry.sdi.hevs.ch/mqtt2influx:v1.1.1 +# Poker For some Users stories (issues) we did a Poker like in Scrum methodology. We select 4 issues that we wanted to discuss.