modul:m290_guko:leistungsbeurteilungen:03_lb:b_projektbeschrieb

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m290_guko:leistungsbeurteilungen:03_lb:b_projektbeschrieb [2025/11/30 19:01] – angelegt gkochmodul:m290_guko:leistungsbeurteilungen:03_lb:b_projektbeschrieb [2025/11/30 21:29] (aktuell) gkoch
Zeile 1: Zeile 1:
-====== LB3 - Projektauftrag ======+====== LB03 - Projektauftrag ======
  
 ===== Einleitung ===== ===== Einleitung =====
Zeile 6: Zeile 6:
 **SQL** (DDL, DML, DCL), **ERM/ERD**, Tabellenbeziehungen, JOINs und Aggregatfunktionen beschäftigt. **SQL** (DDL, DML, DCL), **ERM/ERD**, Tabellenbeziehungen, JOINs und Aggregatfunktionen beschäftigt.
  
-In der dritten und letzten Leistungsbeurteilung (LB3) verknüpfen wir dieses Wissen mit einem **Backend-Server**:+In der dritten und letzten Leistungsbeurteilung (LB03) verknüpfen wir dieses Wissen mit einem **Backend-Server**:
 Sie implementieren einen **Node.js/Express-Server**, der über eine **REST-API** auf Ihre MySQL-Datenbank zugreift.   Sie implementieren einen **Node.js/Express-Server**, der über eine **REST-API** auf Ihre MySQL-Datenbank zugreift.  
 Das Frontend wird **nicht** programmiert – stattdessen simulieren wir es mit **Postman**. Das Frontend wird **nicht** programmiert – stattdessen simulieren wir es mit **Postman**.
Zeile 19: Zeile 19:
   * eine passende **MySQL-Datenbank** mit Startdaten und einem AppUser,   * eine passende **MySQL-Datenbank** mit Startdaten und einem AppUser,
   * einen **Express-Server**, der die wichtigsten Funktionen als **CRUD-REST-API** bereitstellt,   * einen **Express-Server**, der die wichtigsten Funktionen als **CRUD-REST-API** bereitstellt,
-  * ein **Video-Tutorial** (ca. 15 Minuten), in dem Sie Ihre Lösung erklären und demonstrieren.+  * ein **Video-Tutorial** (ca. 15 Minuten), in dem Sie Ihre Lösung erklären und demonstrieren. Beide bzw. alle Team-Mitglieder müssen einen Teil des Videos einsprechen
  
-Zielpublikum des Tutorials sind Ihre **«Unterstifte»** aus dem 2. Lehrjahr, die die Themen+Zielpublikum des Tutorials sind Ihre «Mit-Auszubildenden» aus dem 2. Lehrjahr, die die Themen
  
   * Daten & Datenbanken,   * Daten & Datenbanken,
Zeile 41: Zeile 41:
     - Erklärung des **ERD** in Crow’s-Foot-Notation (Tabellen, PK/FK, Datentypen)     - Erklärung des **ERD** in Crow’s-Foot-Notation (Tabellen, PK/FK, Datentypen)
   - **Datenbank**   - **Datenbank**
-    - Anlegen der Datenbank & Tabellen per SQL-Skript (DDL – <color #ed1c24>C</color>RUD+    - Anlegen der Datenbank & Tabellen per SQL-Skript/Befehlen (DDL) 
-    - Import der Startdaten per SQL-Skript (DML – <color #ed1c24>C</color>RUD)+    - Import der Startdaten per SQL-Skript/Befehlen (DML)
     - Anlegen und Berechtigen eines **AppUsers** (DCL)     - Anlegen und Berechtigen eines **AppUsers** (DCL)
   - **Backend / Server**   - **Backend / Server**
     - Aufbau des Node.js/Express-Projekts (wichtigste Dateien kurz erklären)     - Aufbau des Node.js/Express-Projekts (wichtigste Dateien kurz erklären)
     - Erklärung der wichtigsten Routen (z.B. GET /api/…, POST /api/…)     - Erklärung der wichtigsten Routen (z.B. GET /api/…, POST /api/…)
-    - **Nachweis aller CRUD-Operationen** über den Server (Terminal / Log-Ausgaben) 
   - **Tests mit Postman**   - **Tests mit Postman**
-    - Vorführen der wichtigsten **REST-Endpunkte** mit Postman (Create, Read, Update, Delete)+    - Vorführen der wichtigsten **REST-Endpunkte** mit Postman (Create, Read, Update, Delete) inkl. zeigen der Änderungen in der Datenbank (in Webstorm mit Datenbank-Plugin)
     - Anzeigen eines Beispiels mit **JOIN** (Daten aus 2 Tabellen)     - Anzeigen eines Beispiels mit **JOIN** (Daten aus 2 Tabellen)
     - Anzeigen eines Beispiels mit **Aggregatfunktion** (z.B. COUNT, AVG, MAX)     - Anzeigen eines Beispiels mit **Aggregatfunktion** (z.B. COUNT, AVG, MAX)
-    - Sinnvolle Verwendung von **HTTP-Statuscodes** (200, 201, 400, 404, 500 …)+    - Sinnvolle Verwendung von **HTTP-Statuscodes** (z.B. 200, 201, 400, 404, 500 …)
   - **Reflexion**   - **Reflexion**
     - Jede Person im Team nennt **mindestens 2 Learnings** (positiv / herausfordernd)     - Jede Person im Team nennt **mindestens 2 Learnings** (positiv / herausfordernd)
Zeile 74: Zeile 73:
     * funktionierendem **Express-Server** mit CRUD-Endpunkten,     * funktionierendem **Express-Server** mit CRUD-Endpunkten,
     * sinnvollen **Fehlermeldungen** und HTTP-Statuscodes,     * sinnvollen **Fehlermeldungen** und HTTP-Statuscodes,
 +    * vollständigen **Datenbank-Dump**,
     * verständlicher **Erklärung** im Video.     * verständlicher **Erklärung** im Video.
-  * Es reicht, wenn Ihr Server Daten **erstellen, lesen, ändern und löschen** kann (CRUD)   +  * Es reicht, wenn Ihr Server Daten **erstellen, lesen, ändern und löschen** kann (CRUD) und mindestens **einen JOIN** und **eine Aggregat-Abfrage** bereitstellt. 
-    und mindestens **einen JOIN** und **eine Aggregat-Abfrage** bereitstellt. +  * Der Backend-Server darf nicht über den Root-User in der Datenbank Änderungen machensondern "nur" via AppUser   
-  * Eine aufwändige Benutzerverwaltung mit Login ist **nicht Pflicht**.   +
-    Falls Sie eine User-Tabelle einbauenwird diese nur zur Zuordnung der Daten verwendet.+
  
  
Zeile 89: Zeile 87:
 Im ZIP-File müssen enthalten sein: Im ZIP-File müssen enthalten sein:
  
-  - **Video-Tutorial** (ca. 15 Minuten, gängiges Format: MP4, MOV+  - **Video-Tutorial** (ca. 15 Minuten, gängiges Format: MP4, H.264 Codecmax. FullHD Auflösung (1920x1080px), min. Auflösung: 1280x720px, max. Video-Grösse: 500 MB, Bitrate: ca. 3000-5000kbps
-  - **ERM** als PDF-Datei +  - **ERM** und **ERD** als PDF-Datei 
-  - **ERD** als PDF-Datei +  - **SQL-Skript (DDL)**: Anlegen der Tabellenstruktur (.sql-File) 
-  - **SQL-Skript (DDL)**: Anlegen der Tabellenstruktur +  - **SQL-Skript (DML)**: Import / Insert der Startdaten (.sql-File) 
-  - **SQL-Skript (DML)**: Import / Insert der Startdaten +  - **SQL-Skript (DCL)**: Anlegen und Berechtigen eines AppUsers zur DB (inkl. Kommentar zu den vergebenen Rechten) (.sql-File) 
-  - **SQL-Skript (DCL)**: Anlegen und Berechtigen eines AppUsers zur DB   +  - **Datenbank-Dump**: Erstellen Sie mit mysqldump/Webstorm-Export ein SQL-File, woraus die Datenbank inkl. Daten und Tabellen-Struktur wiederhergestellt werden kann. (.sql-File)
-    (inkl. Kommentar zu den vergebenen Rechten)+
   - **Node.js-Projektordner**:   - **Node.js-Projektordner**:
     - package.json     - package.json
     - Server-Datei(en) (z.B. app.js / index.js)     - Server-Datei(en) (z.B. app.js / index.js)
     - ggf. .env-Beispiel (ohne echte Passwörter)     - ggf. .env-Beispiel (ohne echte Passwörter)
-    - README.txt mit kurzen Start-Hinweisen (z.B. `npm install``npm start`)+    - README.txt mit kurzen Start-Hinweisen (z.B. 'npm install''npm start')
  
 Stellen Sie sicher, dass Ihr Projekt auf einem anderen Rechner mit den   Stellen Sie sicher, dass Ihr Projekt auf einem anderen Rechner mit den  
 bereitgestellten Skripten **reproduzierbar** eingerichtet werden kann. bereitgestellten Skripten **reproduzierbar** eingerichtet werden kann.
  
  • modul/m290_guko/leistungsbeurteilungen/03_lb/b_projektbeschrieb.1764525662.txt.gz
  • Zuletzt geändert: 2025/11/30 19:01
  • von gkoch