Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m290_guko:leistungsbeurteilungen:03_lb:b_projektbeschrieb [2026/01/02 16:19] gkochmodul:m290_guko:leistungsbeurteilungen:03_lb:b_projektbeschrieb [2026/01/19 14:08] (aktuell) gkoch
Zeile 39: Zeile 39:
   * Backend läuft (Start über ''npm run dev'' oder ''npm start'' oder ''node index.js'')   * Backend läuft (Start über ''npm run dev'' oder ''npm start'' oder ''node index.js'')
   * Mindestens **2 Tabellen** in MySQL (mit PK/FK)   * Mindestens **2 Tabellen** in MySQL (mit PK/FK)
-  * Mindestens **eine API-Ressource** (z.B. ''/api/serien''+  * **CRUD** vollständig über API-Endpoints (z.B. ''/api/serien'', ''/api/serien/:id'' mit entsprechenden HTTP-Methoden GET, POST, PUT, DELETE)
-  * **CRUD** vollständig über REST nachweisbar: ''GET''''POST''''PUT''''DELETE''+
   * Mindestens **eine JOIN-Route** (Daten aus 2 Tabellen)   * Mindestens **eine JOIN-Route** (Daten aus 2 Tabellen)
-  * Mindestens **eine Aggregat-Route** (COUNT/AVG/SUM/MIN/MAX mit GROUP BY)+  * Mindestens **eine Aggregat-Route** (COUNT/AVG/SUM/MIN/MAX)
   * Zugriff auf DB **nicht** als ''root'', sondern über einen **AppUser** (Least Privilege)   * Zugriff auf DB **nicht** als ''root'', sondern über einen **AppUser** (Least Privilege)
   * Video-Tutorial, wo alle Team-Mitglieder darin vorkommen und einen Teil erklären.    * Video-Tutorial, wo alle Team-Mitglieder darin vorkommen und einen Teil erklären. 
Zeile 83: Zeile 82:
   * Sie müssen während dem Video zeigen, dass Sie Ihren eigenen Code verstehen (Warum dieser Endpoint? Warum dieser JOIN? Was bedeutet ''req.params.id''?).   * Sie müssen während dem Video zeigen, dass Sie Ihren eigenen Code verstehen (Warum dieser Endpoint? Warum dieser JOIN? Was bedeutet ''req.params.id''?).
 </WRAP> </WRAP>
 +<WRAP center round info 60%>
 +Ein Beispiel-Video können Sie sich hier anschauen:
 +
 +[[https://bzzch-my.sharepoint.com/:v:/g/personal/guido_koch_bzz_ch/IQAMJFvbSMhfQIVI9p8cxRT9ARThohsE9YX113Qo36bG0CM?e=XnvFVi&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0%3D|Beispiel-Video]]
 +\\
 +Für das Erstellen des Screencasts empfiehlt sich eine entsprechende Software zu nutzen: Ich habe die Trial Version von **Camtasia** benutzt (darum die Wassermarke). Camtasia können sie hier downloaden: https://www.techsmith.com/download/camtasia/
 +\\
 +Alternativ bietet auch Microsoft in Office365 die Software **Clipchamp** an, welche ähnliche Funktionalitäten hat. Mit Ihrem BZZ-Account müssten Sie dazu gratis Zugriff haben: https://www.microsoft.com/de-ch/microsoft-365/clipchamp?market=ch
 +</WRAP>
 +
  
  
-===== Abgabe – zu liefernde Lernprodukte (ZIP in Moodle) ===== +===== Abgabe – zu liefernde Lernprodukte===== 
-Im ZIP-File müssen enthalten sein:+Folgende Teile sind Teil der Abgabe:
  
   - **Video-Tutorial** (ca. 15 Min)   - **Video-Tutorial** (ca. 15 Min)
     * Format: MP4 (H.264), max. FullHD (1920×1080), min. 1280×720     * Format: MP4 (H.264), max. FullHD (1920×1080), min. 1280×720
     * Max. Grösse: 1 GB (Bitrate ca. 3000–5000 kbps)     * Max. Grösse: 1 GB (Bitrate ca. 3000–5000 kbps)
-  - **ERM und ERD** als PDF-Datei+  - **ERM und ERD** als PDF-Datei oder PNG
   - **SQL-Skript (DDL)**: Anlegen der Tabellenstruktur (Als PDF/Word oder ''.sql''-File)   - **SQL-Skript (DDL)**: Anlegen der Tabellenstruktur (Als PDF/Word oder ''.sql''-File)
   - **SQL-Skript (DML)**: Import / Insert der Startdaten (Als PDF/Word oder ''.sql''-File)   - **SQL-Skript (DML)**: Import / Insert der Startdaten (Als PDF/Word oder ''.sql''-File)
Zeile 118: Zeile 127:
 | **9. Aggregat-Route (GROUP BY)** | **6** | Mindestens eine Aggregat-Route korrekt (COUNT/AVG/SUM etc.) | Aggregat vorhanden, aber unklar/falsch | Kein Aggregat | | **9. Aggregat-Route (GROUP BY)** | **6** | Mindestens eine Aggregat-Route korrekt (COUNT/AVG/SUM etc.) | Aggregat vorhanden, aber unklar/falsch | Kein Aggregat |
 | **10. Validierung, Fehlerbehandlung, HTTP-Statuscodes** | **8** | 400/404/500 sinnvoll, Pflichtfelder geprüft, verständliche Fehlermeldungen | Teilweise vorhanden, teils falsche Codes | Keine Validierung/Fehlerhandling | | **10. Validierung, Fehlerbehandlung, HTTP-Statuscodes** | **8** | 400/404/500 sinnvoll, Pflichtfelder geprüft, verständliche Fehlermeldungen | Teilweise vorhanden, teils falsche Codes | Keine Validierung/Fehlerhandling |
-| **11. Video-Tutorial (Screencast) & Verständnisnachweis** | **20** | Struktur klar, beide erklären aktiv, Demo mit Postman + DB sichtbar, reflektiert | Video vorhanden, aber unklar/zu kurz/Teamanteil ungleich | Kein Video / Verständnis nicht nachweisbar |+| **11. Video-Tutorial (Screencast) & Verständnisnachweis** | **20** | Struktur klar, beide erklären aktiv, Demo mit Postman + DB sichtbar, reflektiert, alle APIs erklärt und vorgeführt | Video vorhanden, aber unklar/zu kurz/Teamanteil ungleich | Kein Video / Verständnis nicht nachweisbar |
  
 <WRAP box round center 80%> <WRAP box round center 80%>
  • modul/m290_guko/leistungsbeurteilungen/03_lb/b_projektbeschrieb.1767367157.txt.gz
  • Zuletzt geändert: 2026/01/02 16:19
  • von gkoch