Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
wiki:software:beuthbot:berichte:ss2020:zwischen [04.06.2020 13:51] Lukas Danckwerth |
wiki:software:beuthbot:berichte:ss2020:zwischen [04.06.2020 15:58] (aktuell) Lukas Danckwerth |
||
---|---|---|---|
Zeile 8: | Zeile 8: | ||
* Denny Schumann | * Denny Schumann | ||
- | ====Übersicht (Fragen, die beantwortet werden sollten)==== | + | ====Inhaltsangabe==== |
+ | |||
+ | - Einleitung / Aktueller Stand | ||
+ | - BeuthBot-Projekt | ||
+ | - deconcentrator-js | ||
+ | - Virtuellen Machine | ||
+ | - Funktionale Anforderungen | ||
+ | - Persistenz & Cache | ||
+ | - Microservices | ||
+ | - Ausblick | ||
===Was haben wir vorgefunden? | ===Was haben wir vorgefunden? | ||
Zeile 64: | Zeile 73: | ||
Nun wurde der Beuth Bot gestartet, konnte allerdings nicht in Betrieb genommen werden, da dieser keine Netzwerkverbindung nach draußen hatte. Daraufhin wurde uns ein Server auf der Beuth zur verfügung gestellt, auf welchem der Beuth Bot letztendlich laufen sollte. Nachdem dieser dort versucht wurde eingerichtet zu werden, fehlte es dem Server an zugewiesenem Speicher, was erst behoben werden musste um den Bot vollständig installieren und in Betrieb nehmen zu können. Es konnten nach der Behebung des fehlenden Speichers letztendlich fast alle Docker-Container erfolgreich gestartet werden, bis auf den Service Deconcentrator, | Nun wurde der Beuth Bot gestartet, konnte allerdings nicht in Betrieb genommen werden, da dieser keine Netzwerkverbindung nach draußen hatte. Daraufhin wurde uns ein Server auf der Beuth zur verfügung gestellt, auf welchem der Beuth Bot letztendlich laufen sollte. Nachdem dieser dort versucht wurde eingerichtet zu werden, fehlte es dem Server an zugewiesenem Speicher, was erst behoben werden musste um den Bot vollständig installieren und in Betrieb nehmen zu können. Es konnten nach der Behebung des fehlenden Speichers letztendlich fast alle Docker-Container erfolgreich gestartet werden, bis auf den Service Deconcentrator, | ||
+ | |||
+ | ===Resultierende Aufgaben=== | ||
+ | |||
+ | * Dokumentation komplettieren / umstruktorieren | ||
+ | * Den alten deconcentrator " | ||
+ | * Übergeordnetes Git Projekt erstellen mit Paketen als Submodule | ||
===Wo stehen wir gerade?=== | ===Wo stehen wir gerade?=== | ||
Zeile 72: | Zeile 87: | ||
Auf diese Punkte wird im weiteren Verlauf dieses Dokuments eingegangen. | Auf diese Punkte wird im weiteren Verlauf dieses Dokuments eingegangen. | ||
- | |||
- | ====Challenges / Barriers==== | ||
- | |||
- | * Complex Project Structure | ||
- | * Bad documentation of final state. So we ... | ||
- | * Focused to long on the image of virtual machine | ||
- | * Bad documentation of JSON format of messages | ||
- | * Running out of space on Virtual Machine | ||
- | * Current Situation with the Corona Virus | ||
- | |||
- | ====Needs For Action==== | ||
- | |||
- | * Complete Documentation | ||
- | * "Kick out" the `deconcentrator` and `scraper` | ||
- | * Create a master project containing the packages as submodules | ||
- | ====Done so far==== | ||
- | |||
- | ===Model of Messages of Telegram Bot=== | ||
- | |||
- | <uml> | ||
- | @startuml | ||
- | class Message { | ||
- | message_id: Integer | ||
- | from: User | ||
- | chat: Chat | ||
- | date: Long | ||
- | text: String | ||
- | } | ||
- | |||
- | class User { | ||
- | id: Integer | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | } | ||
- | |||
- | class Chat { | ||
- | id: Integer | ||
- | | ||
- | | ||
- | type: String | ||
- | } | ||
- | |||
- | Message *--- User | ||
- | Message *--- Chat | ||
- | |||
- | @enduml | ||
- | </ | ||
===BeuthBot Project (One Git Repository)=== | ===BeuthBot Project (One Git Repository)=== | ||
Zeile 302: | Zeile 268: | ||
</ | </ | ||
- | Request interpretation of model. | + | Request interpretation of message. |
< | < | ||
Zeile 646: | Zeile 612: | ||
Damit der Benutzer sich selbst nicht ständig wiederholen muss, wird ihm die Möglichkeit geboten, seine Vorlieben zu speichern. Als Datenbank haben wir uns für die MongoDB entschieden. | Damit der Benutzer sich selbst nicht ständig wiederholen muss, wird ihm die Möglichkeit geboten, seine Vorlieben zu speichern. Als Datenbank haben wir uns für die MongoDB entschieden. | ||
+ | |||
+ | <uml> | ||
+ | @startuml | ||
+ | actor " | ||
+ | rectangle " | ||
+ | package " | ||
+ | rectangle " | ||
+ | package " | ||
+ | rectangle " | ||
+ | database " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | U -down-> TGB | ||
+ | TGB -right-> GW | ||
+ | GW -left-> TGB | ||
+ | |||
+ | GW -up-> DBC | ||
+ | DBC -down-> GW | ||
+ | |||
+ | DB_NAME -right-> DBC | ||
+ | DBC -left-> DB_NAME | ||
+ | @enduml | ||
+ | </ | ||
===Cache=== | ===Cache=== | ||
Zeile 873: | Zeile 864: | ||
-- Implementation -- | -- Implementation -- | ||
- | [Persist user preferences] as [I1] lasts 30 days and starts 5 days after [C]'s end | + | [Persist user preferences |
- | [Cache microservices responses] as [I2] lasts 30 days and starts 5 days after [C]'s end | + | [Cache microservices responses |
- | [Transform scraper microservice] as [I3] lasts 30 days and starts 5 days after [C]'s end | + | [Transform scraper microservice |
- | [Adjust weather microservice] as [I4] lasts 30 days and starts 5 days after [C]'s end | + | [Adjust weather microservice |
- | [New course schedule microservice] as [I5] lasts 30 days and starts 5 days after [C]'s end | + | [New course schedule microservice |
[C] -> [I1] | [C] -> [I1] | ||
[C] -> [I2] | [C] -> [I2] | ||
Zeile 883: | Zeile 874: | ||
[C] -> [I4] | [C] -> [I4] | ||
[C] -> [I5] | [C] -> [I5] | ||
+ | [D] is 80% completed | ||
[I1] is 0% completed | [I1] is 0% completed | ||
[I2] is 0% completed | [I2] is 0% completed |