This commit is contained in:
harald.mueller 2023-07-22 22:59:12 +02:00
parent 950589c3da
commit d98b090522
15 changed files with 138 additions and 101 deletions

View File

@ -11,10 +11,10 @@
| Projekt | Punkte | Zusatz-<br>Bonus| Alleine-<br>Bonus | Aufgabenstellung |
|---- |---- |---- |---- |---- |
| **A**.) | 6 | | 1 | [Dateien und Verzeichnisse anlegen](moegliche-LB2-AufgabenProjekte/A_verzeichnisse-und-dateien-anlegen)
| **B**.) | 10 | 5 | 1 | [Emailadressen und Brief erstellen](moegliche-LB2-AufgabenProjekte/B_emailadressen-erzeugen)
| **A**.) | 6 | | | [Dateien und Verzeichnisse anlegen](moegliche-LB2-AufgabenProjekte/A_verzeichnisse-und-dateien-anlegen)
| **B**.) | 7 | 3 | 1 | [Emailadressen und Brief erstellen](moegliche-LB2-AufgabenProjekte/B_emailadressen-erzeugen)
| **C**.) | 6 | 4 | 1 | [Systemleistung abfragen](moegliche-LB2-AufgabenProjekte/C_systemleistung-abfragen)
| **D**.) | 4 | 4 | 1 | [API abfragen](moegliche-LB2-AufgabenProjekte/D_api-abfragen)
| **D**.) | 5 | 5 | 1 | [API abfragen mit Datendarstellung](moegliche-LB2-AufgabenProjekte/D_api-abfragen)
| **E**.) | 4 | 4 | 1 | [API abfragen mit Applikation](moegliche-LB2-AufgabenProjekte/E_api-abfragen-mit-applikation)
| **F**.) | 8 | | 1 | [QR-Rechnungen erzeugen lassen](moegliche-LB2-AufgabenProjekte/F_qr-rechnungen-erzeugen)
| **G**.) | 32 | | 2 | [eBill von Handwerkerrechnungen](moegliche-LB2-AufgabenProjekte/G_ebill_handwerkerrechnungen)

View File

@ -185,14 +185,17 @@ Das fertige Skript: [./loesung-in-powershell/prepareFiles.ps1](./loesung-in-powe
## Bewertung
| Stufe | Beschreibung | Punkte |
|-------|--------------|--------|
| 1 | "Skript erstelleVorlagen.sh:" Erstellung Namensdateien (mind. 2) | 1 |
| 2 | "Skript erstelleVorlagen.sh:" Erstellung der Dateien im Template-Verzeichnis | 1 |
| - | | |
| 3 | "Skript verteileDateien.sh:" Klassenverzeichnis wird angelegt | 1 |
| 4 | "Skript verteileDateien.sh:" Lernendenverzeichnisse werden angelegt | 1 |
| 5 | "Skript verteileDateien.sh:" Lernendenverzeichnisse haben die Dateien drin | 1 |
| 6 | "Skript verteileDateien.sh:" Mehrere Klassen- und Lernenden-Verzeichnisse | 1 |
| Total | | **6**|
| Stufe | Punkte |Beschreibung |
|-------|--------|------------ |
| 1 | 1 | "Skript erstelleVorlagen.sh:" Erstellung Namensdateien (mind. 2) |
| 2 | 1 | "Skript erstelleVorlagen.sh:" Erstellung der Dateien im Template-Verzeichnis |
| - | - | |
| 3 | 1 | "Skript verteileDateien.sh:" Klassenverzeichnis wird angelegt |
| 4 | 1 | "Skript verteileDateien.sh:" Lernendenverzeichnisse werden angelegt |
| 5 | 1 | "Skript verteileDateien.sh:" Lernendenverzeichnisse haben die Dateien drin |
| 6 | 1 | "Skript verteileDateien.sh:" Mehrere Klassen- und Lernenden-Verzeichnisse |
| | **6** | **Total** |
| | | |
| |** 1/2 ** | Halbierung der Punkte, wenn der gleiche Code schon mal (bei einem Kollegen) gesehen wurde |
| | | |

View File

@ -229,14 +229,14 @@ korrekt verarbeitet werden soll.
## Bewertung
| Stufe | Beschreibung | Punkte |
|-------|--------------|--------|
| 1 | Datei mit Mailadr./Passw. liegt vor | 3 |
| 2 | Alle Briefe korrekt erstellt | 2 |
| 3 | Archiv-Datei erstellt | 1 |
| 4 | Korrektes Mail kommt an! (samt Att.)| 4 |
| **Total** | -------------------- |**10**|
| 5 | Bonus: FTP-Transfer für den Download | 2 |
| 6 | Bonus: Vollautomatische Verarbeitung (crontab) | 1 |
| 7 | Bonus: Dublettenkontrolle inkl. durchgef. Test | 2 |
| Punkte | Beschreibung |
|--------|--------------|
| 3 | Datei mit Mailadr./Passw. liegt vor, Mails haben korrekte Form, nur Kleinbuchstaben und nur einfache Buchstaben |
| 1 | Alle Briefe korrekt erstellt |
| 1 | Archiv-Datei ist erstellt (tar, gz, zip) |
| 2 | Korrektes Mail inkl. Attachment kommt an |
|**7**| **Total** | |
| 3 | Bonus: Dublettenkontrolle inkl. durchgeführtem Test |
|||
| **1/2** | Halbierung der Punkte, wenn der gleiche Code schon mal (bei einem Kollegen) gesehen wurde |
|||

View File

@ -23,27 +23,28 @@ Formattieren Sie alles in eine gut leserliche **Tabellen-Form**.
Folgendes ist auszugeben:
- 1. Der Hostname des Systems
- 2. Die Betriebssystemversion
- 3. Der Modellname der CPU
- 4. Die Anzahl der CPU-Cores
- 5. Der gesamte und der genutze Arbeitsspeicher
- 6. Die Grösse des verfügbaren Speichers
- 7. Die Grösse des freien Speichers
- 8. Die Gesamtgrösse des Dateisystems
- 9. Die Grösse des belegten Speichers auf dem Dateisystem
- 10. Die Grösse des freien Speichers auf dem Dateisystem
- 11. Die aktuelle Systemlaufzeit
- 12. Die aktuelle Systemzeit
- 2. Aktuelle IP-Adresse
- 3. Die Betriebssystemversion
- 4. Der Modellname der CPU
- 5. Die Anzahl der CPU-Cores
- 6. Der gesamte und der genutze Arbeitsspeicher
- 7. Die Grösse des verfügbaren Speichers
- 8. Die Grösse des freien Speichers
- 9. Die Gesamtgrösse des Dateisystems
- 10. Die Grösse des belegten Speichers auf dem Dateisystem
- 11. Die Grösse des freien Speichers auf dem Dateisystem
- 12. Die aktuelle Systemlaufzeit
- 13. Die aktuelle Systemzeit
- 14. Trenner für die nächste Ausgabe
**2.) Dateiausgabe wahlweise**
**2.) Dateiausgabe wahlweise** (mit einem "switch" `-f`)
Gefordert ist die Ausgabe **wahlweise** direkt auf das
<br>Terminal, bzw. die Console, wie auch in eine Datei.
- Wenn man **keine Option** angibt: Nur die Terminal-Ausgabe.
- Wenn man **keine Option** angibt: Nur die Terminal-Ausgabe ohne Datei.
- Wenn man den **"Switch"** (die Option) `-f` angibt, soll zusätzlich die
<br>Datei **[YYYY-MM]-sys-[hostname].info** erzeugt werden.
<br>Datei **[YYYY-MM]-sys-[hostname].log** erzeugt werden.
<br>(Immer in die gleiche Datei schreiben. Das nennt man ein **"Log"**)
Tipp: Benutzen Sie für den Timestamp `date '+%Y-%m-%d_%H%M'` bzw. `date '+%Y-%m'`
@ -55,6 +56,15 @@ und für den Hostnamen `hostname` oder `uname -n` und den Befehl `df ` für Disk
Binden Sie Ihr Skript in die `crontab` ein
und wählen Sie einen geeigneten Ausführungs-Takt.
Tipp: Prüfen Sie, ob Ihr **cron** eingeschaltenist mit folgendem Befehl:
service cron status
Falls cron nicht läuft, können Sie es damit einschalten:
sudo service cron start
### Resultat
@ -79,14 +89,16 @@ Tipp: Benutzen Sie den `printf`-Befehl
| Punkte | Beschreibung |
|-------|--------------|
| 3 | Alle oben genannten Sytem-Infos |
| 1 | Ausgabe in Datei mit "Switch" und richtigem Dateiname |
| 1 | Ausgabe in die Datei mit "Switch" und richtigem Dateiname |
| 1 | Regelmässige Ausführung (Abgabe von 3 Log-Einträgen, die das System im Takt erstellt hat) |
| 1 | Bonuspunkt für "gute/schöne" Tabellen-Darstellung |
| 1 | "Gute/schöne" Tabellen-Darstellung |
| **6** | **Total** |
| | |
| | Erweiterungsmöglichkeiten |
| 2 | Verschicken einer E-Mail wenn ein "Schwellwert" überschritten wird |
| 2 | Darstellung auf einer Webseite (HTML -> als index.html in Ihr Verzeichnis, siehe Zugangsdaten ) für das Monitoring mit den Werten und zusätzlich einer Ampel-Darstellung grün/gelb/rot |
| | |
| 2 | Darstellung auf einer Webseite (HTML -> als index.html in Ihr Verzeichnis, siehe Zugangsdaten ) für das Monitoring mit den Werten und zusätzlich einer Ampel-Darstellung grün/gelb/rot [**FTP-Zugangsdaten**](../../tools-technics/ftp-zugangsdaten.md)|
|||
| **1/2** | Halbierung der Punkte, wenn der gleiche Code schon mal (bei einem Kollegen) gesehen wurde |
|||
[**FTP-Zugangsdaten**](../../tools-technics/ftp-zugangsdaten.md)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@ -2,7 +2,7 @@
2023-05 MUH
## APIs abfragen
## APIs abfragen mit Datendarstellung
### Aufgabenstellung
@ -55,13 +55,16 @@ https://polygon.io/pricing
|--------|--------------|
| 1 | Eine Ablaufskizze (activity diagram) wird der Lehrperson vorgelegt |
| 1 | Für die Anbindung der ersten API mit einer Informationsklasse (Wetter, Kurse, ...) |
| 1 | Für die Verarbeitung von JSON-Files usw. |
| 1 | Für die Verarbeitung von JSON-Files usw. (einfache Auflistung aller Daten) |
| 1 | Einbindung in crontab für die regelmässige Verarbeitung |
| **4** | **Total** |
| 1 | "Schöne" (tabellarische) Darstellung der Informationsklasse(n) |
| **5** | **Total** |
| 1 | Bonuspunkt für jede Anbindung einer weiteren API, bzw. Informationsklasse |
| 1 | Bonuspunkt für die "schöne" (tabellarische) Darstellung jeder Informationsklasse |
| 2 | Bonuspunkte für eine applikatorische Bearbeitung (nur ausgewählte Daten mit Steuerung über eine andere Config-Datei) |
| 1 | Bonuspunkt für die Onlinebereitstellung (FTP, HTML) mindestens einer Informationsklasse |
| 1 | Bonuspunkt für die regelmässige Zusendung per Mail (an sich selber) |
| | |
| | |
| ** 1/2 ** | Halbierung der Punkte, wenn der gleiche Code schon mal (bei einem Kollegen) gesehen wurde |
| | |
<hr>

View File

@ -20,12 +20,12 @@ Benutzen Sie dafür die aktuellen Kurse über eine API.
Zusatz:
Wenn ich nach einiger Zeit den gleichen Betrag wieder
eingebe, sollten Sie darstellen können, was der Bertrag
eingebe, sollten Sie darstellen können, was der Betrag
vorher war und was er jetzt ist.
(Sie müssen die abgefragten Werte speichern um sie dann
vergleichen zu können. Weiter sollten Sie die Zeit wissen,
wann das letzte Mal abgefragt wurde und die Differenz
möchte ich auch angezeigt bekommen.
möchte ich auch angezeigt bekommen.)
Hier einige mögliche APIs zum anbinden:
@ -42,12 +42,12 @@ https://polygon.io/pricing
| 1 | Eine Ablaufskizze (activity diagram) wird der Lehrperson vorgelegt |
| 1 | Download der aktuellen Kurse |
| 1 | Abfragesystem, Benutzerführung |
| 1 | Gute und schöne Darstellung der (einfachen) Resultaten |
| 1 | Gute und die "schöne" (tabellarische) Darstellung der Daten |
| **4** | **Total** |
| 1 | Bonuspunkt für Speicherung der "alten" Daten |
| 1 | Bonuspunkt für den Vergleich der "neuen" mit den "alten" Daten |
| 1 | Bonuspunkt für die "schöne" (tabellarische) Darstellung der Vergleiche |
| 1 | Bonuspunkt für Speicherung der "alten" Daten und Vergleich mit den "neuen" Daten |
| 1 | Bonuspunkt für der Vergleiche |
| 1 | Bonuspunkt für Farben in der Darstellung (rot für runter, grün für hoch) |
| | |
| ** 1/2 ** | Halbierung der Punkte, wenn der gleiche Code schon mal (bei einem Kollegen) gesehen wurde |
<hr>

View File

@ -43,11 +43,19 @@ Systeme erzeugen Rohdaten, die Sie umformen und eine solche
Sie eine eigendefinierte Rohdatei in einem "csv"-ähnlichen Format
(csv = comma separated values).
## Das müssen Sie machen:
- Sie müssen also aus den gegebenen Daten, eine Tabelle machen, die Sie hier hochladen können.
[https://qr-rechnung.net/#/table](https://qr-rechnung.net/#/table)
Wenn alles gut ist, lassen sich die QR-Rechnnungen dort auf der WebSeite erzeugen.
**Input**
Sie bekommen dafür eine Serie von solchen Dateien:
<br>[x-ressourcen/rechnung23003.data](x-ressourcen/rechnung23003.data)
<br>[x-ressourcen/rechnung23004.data](x-ressourcen/rechnung23004.data)
<br>[x-ressourcen/rechnung24018.data](x-ressourcen/rechnung24018.data)
<br>[x-ressourcen/rechnung24019.data](x-ressourcen/rechnung24019.data)
**Output**
@ -81,25 +89,18 @@ eine Serie von QR-Rechnungen erstellen.
Bewertet wird dann der Download der QR-Rechnungen (wenns funktioniert). Je perfekter die heruntergeladenen
QR-Rechnungen aussehen, desto besser die Note.
- Stufe 4
FTP-Zugang
HOST: "ftp.haraldmueller.ch
USER: "schoolerinvoices
PASS: "Berufsschule8005!
PATH: "/out/[KlasseUndIhrNachname]"
## Bewertung
| Stufe | Beschreibung | Punkte |
|-------|--------------|--------|
| 1 | Input-Daten können gelesen und interpretiert werden | 2 |
| 2 | Output-Liste kann erzeugt werden (Daten umformen) | 2 |
| 3 | Output-Liste kann QR-Rechnungen auf Web-Site erzeugen und Resultate "stimmen" | 2 |
| 4 | (Mehrere) Input-Dateien werden vom FTP-Drive abgeholt und verarbeitet | 2 |
| Total | | **8**|
|Punkte | Beschreibung |
|-------|-------------- |
| 2 | Input-Daten können gelesen und interpretiert werden |
| 2 | Output-Liste kann erzeugt werden (Daten umformen) |
| 2 | Output-Liste kann QR-Rechnungen auf Web-Site erzeugen und Resultate "stimmen"|
| **6** | |
|||
| **1/2** | Halbierung der Punkte, wenn der gleiche Code schon mal (bei einem Kollegen) gesehen wurde |
|||

View File

@ -1,5 +0,0 @@
Rechnung_23003;Auftrag_A003;Zürich;21.03.2023;10:22:54;ZahlungszielInTagen_30
Herkunft;41010000001234567;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
Endkunde;41301000000012497;Autoleasing AG;Gewerbestrasse 100;5000 Aarau
RechnPos;1;Einrichten E-Mailclients;6;25.00;150.00;MWST_0.00%
RechnPos;2;Konfig & Schulung Scanningcenter;1;1200.00;1200.00;MWST_0.00%

View File

@ -1,5 +0,0 @@
Rechnung_23004;Auftrag_A004;Zürich;21.03.2023;10:21:32;ZahlungszielInTagen_30
Herkunft;41010000001234567;K821;Berta Berisha;Bahnhofstrasse 23;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
Endkunde;41301000000012497;Carlo Caprez;Carrosseriestrasse 2;7000 St. Gallen
RechnPos;1;Ganzkörpermassage;1;100.00;100.00;MWST_0.00%
RechnPos;2;Massageöl Ultra;1;20.00;20.00;MWST_0.00%

View File

@ -0,0 +1,7 @@
Rechnung_90449;Auftrag_A448;Zürich;14.05.2024;14:22:54;ZahlungszielInTagen_15
Herkunft;41010000001234567;CH3089144756318541463;K234;Harald Müller;Rainstrasse 27;8610 Uster;CHE-111.222.333 MWST;harald.mueller@bluewin.ch
Endkunde;41301000000012497;CH1689144136449235957;Herrgott im Himmel;Wolke 7;6666 Himmelsdorf
RechnPos;1;Ticket fürs Himmelreich (D);5;5.00;25.00;MWST_0.00%
RechnPos;2;Ticket To Heaven (E);8;5.00;40.00;MWST_0.00%
RechnPos;3;Billet pour le paradis (F);3;5.00;15.00;MWST_0.00%
RechnPos;4;Boleto al cielo (S);4;5.00;20.00;MWST_0.00%

View File

@ -0,0 +1,6 @@
Rechnung_24017;Auftrag_A448;Zürich;14.05.2024;14:22:54;ZahlungszielInTagen_10
Herkunft;41010000001234567;CH3089144756318541463;K234;Harald Müller;Rainstrasse 27;8610 Uster;CHE-111.222.333 MWST;harald.mueller@bluewin.ch
Endkunde;41301000000012497;CH1789144544456741313;Herrgott im Himmel;Wolke 7;6666 Himmelsdorf
RechnPos;1;Lizenzverkauf fürs Himmelreich;5;55.00;275.00;MWST_0.00%
RechnPos;2;Lizenzen um Absolution zu erteilen;25;85.00;2125.00;MWST_0.00%
RechnPos;3;Versicherung gegen Weltuntergang;1;500.00;500.00;MWST_0.00%

View File

@ -0,0 +1,5 @@
Rechnung_24018;Auftrag_A003;Zürich;21.03.2024;10:22:54;ZahlungszielInTagen_30
Herkunft;41010000001234567;CH7189144353227895511;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
Endkunde;41301000000012497;CH1889144876152963546;Autoleasing AG;Aareweg 100;5000 Aarau
RechnPos;1;Einrichten E-Mailclients;6;25.00;150.00;MWST_0.00%
RechnPos;2;Konfig & Schulung Scanningcenter;1;1200.00;1200.00;MWST_0.00%

View File

@ -0,0 +1,5 @@
Rechnung_24019;Auftrag_A004;Zürich;21.03.2024;10:21:32;ZahlungszielInTagen_30
Herkunft;41010000001234567;CH3089144756318541463;K821;Berta Berisha;Bahnhofstrasse 23;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
Endkunde;41301000000012497;CH1989144212313785138;Carlo Caprez;Carrosseriestrasse 2;7000 St. Gallen
RechnPos;1;Ganzkörpermassage;1;100.00;100.00;MWST_0.00%
RechnPos;2;Massageöl Ultra;1;20.00;20.00;MWST_0.00%

View File

@ -1,6 +1,6 @@
# M122 - Aufgabe
2023-02 MUH
2023-07 MUH
## ebill von Handwerkerrechnungen
@ -58,11 +58,11 @@ Sie bekommen vom Biller-Sytem **mehrere** solche
Dateien
Dateiname: rechnung23003.data
Dateiname: rechnung24018.data
Rechnung_23003;Auftrag_A003;Uster;03.07.2024;10:22:54;ZahlungszielInTagen_30
Herkunft;41010000001234567;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
Endkunde;41301000000012497;Autoleasing AG;Gewerbestrasse 100;5000 Aarau
Rechnung_24018;Auftrag_A003;Zürich;21.03.2024;10:22:54;ZahlungszielInTagen_30
Herkunft;41010000001234567;CH7189144353227895511;K821;Adam Adler;Bahnhofstrasse 1;8000 Zuerich;CHE-111.222.333 MWST;harald.mueller@tbz.ch
Endkunde;41301000000012497;CH1889144876152963546;Autoleasing AG;Aareweg 100;5000 Aarau
RechnPos;1;Einrichten E-Mailclients;6;25.00;150.00;MWST_0.00%
RechnPos;2;Konfig & Schulung Scanningcenter;1;1200.00;1200.00;MWST_0.00%
@ -76,14 +76,14 @@ die Verarbeitung für 'diese aktuelle' Rechnung abbrechen.
Sie müssen aus **jeder Rechnungsdatei** (.data) **zwei Dateien** erstellen
(ein TXT-File und ein XML-File) und diese müssen einen bestimmten Namen haben:
<br>**[Kundennummer]_[Rechnungsnummer]_invoice.xml** (also konkret K821_23003_invoice.xml)
<br>**[Kundennummer]_[Rechnungsnummer]_invoice.txt** (also konkret K821_23003_invoice.txt)
<br>**[Kundennummer]_[Rechnungsnummer]_invoice.xml** (also konkret K821_24018_invoice.xml)
<br>**[Kundennummer]_[Rechnungsnummer]_invoice.txt** (also konkret K821_24018_invoice.txt)
Die Dateinamen werden aus den **Inhalten** der .data-Datei gebildet (generiert):
<br>(aus **Kundennummer** "K821" und aus der **Rechnungsnummer** "23003")
<br>(aus **Kundennummer** "K821" und aus der **Rechnungsnummer** "24018")
<br>Dateiname Zwischenresultat a.): K821_23003_invoice.txt
<br>Dateiname Zwischenresultat b.): K821_23003_invoice.xml
<br>Dateiname Zwischenresultat a.): K821_24018_invoice.txt
<br>Dateiname Zwischenresultat b.): K821_24018_invoice.xml
### Zwischenresultat a.) Rechnung in menschenlesbaren Klartext
@ -94,7 +94,7 @@ haben Endkunden die Möglichkeit, die Rechnung zurückzuweisen
und somit nicht zu bezahlen.
**Inhalt von K821_23003_invoice.txt:**
**Inhalt von K821_24018_invoice.txt:**
-------------------------------------------------
@ -109,14 +109,14 @@ und somit nicht zu bezahlen.
Uster, den 21.07.2023 Autoleasing AG
Gewerbestrasse 100
Uster, den 21.03.2024 Autoleasing AG
Aareweg 100
5000 Aarau
Kundennummer: K821
Auftragsnummer: A003
Rechnung Nr 23003
Rechnung Nr 24018
-----------------------
1 Einrichten E-Mailclients 5 25.00 CHF 125.00
2 Konfig & Schulung Scanningcenter 1 1200.00 CHF 1200.00
@ -132,7 +132,7 @@ und somit nicht zu bezahlen.
Zahlungsziel ohne Abzug 30 Tage (20.08.2023)
Zahlungsziel ohne Abzug 30 Tage (20.04.2024)
Empfangsschein Zahlteil
@ -142,7 +142,7 @@ und somit nicht zu bezahlen.
8000 Zuerich | | 8000 Zuerich
| |
| |
00 00000 00000 00000 00000 | | 00 00000 00000 00000 00000
CH71 8914 4353 2278 9551 1 | | CH18 8914 4876 1529 6354 6
| |
Autoleasing AG | | Autoleasing AG
Gewerbestrasse 100 | | Gewerbestrasse 100
@ -188,7 +188,7 @@ dass es keine MWSt gibt.
### Zwischenresultat b.) Rechnung im (maschinenlesbaren) XML-Format
**Inhalt von K821_23003_invoice.xml:**
**Inhalt von K821_24018_invoice.xml:**
-------------------------------------------------
@ -398,7 +398,9 @@ im "Servermanager" die Einstellungen.
<br>zweiten Teil der Arbeit machen (das Zippen und das Mailen) und
<br>dem User (Biller) zurückschicken der bestätigten Zahlung
<br>
<br>[![zahnrad.png](x-ressourcen/zahnrad.png)https://coinditorei.com/zahlungssystem](https://coinditorei.com/zahlungssystem)
<br>[https://coinditorei.com/zahlungssystem](https://coinditorei.com/zahlungssystem)
<br>![zahnrad.png](x-ressourcen/zahnrad.png)
<br>[https://coinditorei.com/zahlungssystem](https://coinditorei.com/zahlungssystem)
<br>
<br>
<br>
@ -502,6 +504,9 @@ Dokumentation verlangt werden.)
| 1 | | Automatisierung |
| | [1] | Scheduler eingerichtet und funktioniert (Linux "crontab" oder Win "Aufgabenplaner") |
|**32P** | | **Total** |
||||
| **1/2**| | Halbierung der Punkte, wenn der gleiche Code schon mal (bei einem Kollegen) gesehen wurde |
||||