friendzone – Datenbanken am Beispiel eines sozialen Netzwerkes

10. Dezember 2016 - Lesezeit: 5 Minuten

friendzone ist ein Startup, welches ein neues soziales Netzwerk entwickelt. Das Startup besteht aus Lara der Chefin, Eva der Programmiererin und dem Schüler dem Datenbankadministrator. Jeder Schüler hat eine eigene Datenbank mit der die Webseite von friendzone arbeitet. Erst durch das Bearbeiten der Aufgaben wird das soziale Netzwerk friendzone zum Leben erweckt. Fehler in der Datenbank führen direkt zu Fehlern auf der Webseite.

 

[UPDATE] Seit diesem Post hat sich einiges getan:

Die friendzone ist für jeden online. Der Quelltext und alle Unterrichtsmaterialien sind öffentlich.

Schauen Sie sich auch gern den Nachfolger InstaHub an. Dieser ist fertig programmiert, die Unterrichstmaterialien erstelle ich gerade.

Ziele

  • Schüler lernen am Beispiel der friendzone alle Lehrplaninhalte des Freistaates Sachsen für Fachoberschulen (11. und 12. Klasse) des Lernbereiches 2: Informatische Modelle und Datenbanken
  • Schüler bekommen einen Einblick in die grundlegende Funktionsweise von aktuellen Webanwendungen
  • Schüler arbeiten innerhalb eines Planspieles.
    • Schüler haben einen unmittelbaren Bezug durch die Lebenswelt durch die Wahl eines sozialen Netzwerkes
    • Dadurch wird ein Eindruck für die Arbeitsweise in der IT gegeben
    • Schüler arbeiten an langfristigen Zielen
    • Die Datenbankstruktur ist vorgegeben und kann nur mit Änderungen der Oberfläche angepasst werden.
  • Schüler arbeiten mit phpMyAdmin. phpMaAdmin ist die Oberfläche für MySQL, der meistverbreiteten relationalen Datenbank.
  • Durch die Verbindung von Datenbanken und Netzwerk sind hier Erfahrungen für den Lernbereich 4: Sicherheit in Informatiksystemen möglich. Erst durch solche Beispiele wurde es deutlich, welchen Stellenwert und Notwendigkeit Datenschutz und Datensicherheit haben. Schüler waren teilweise schockiert, wie einfach Sie Zugriff auf alle Nutzerdaten der (fiktiven) Mitglieder innerhalb des Netzwerkes hatten.
  • In Lernbereich 3: Algorithmen und Programme und Lernbereich 1: Vernetzte Informatiksysteme – HTML kann hierauf Bezug genommen werden.
  • Ansatzpunkte für Big Data und Data Analytics sind bei Bedarf/Interesse vorhanden.

 

friendzone

Image description

In der Anwendung friendzone registrieren sich Schüler und Lehrer, wie in einer Internetanwendung. Sofern reale Emailadressen verwendet werden, können Schüler ihr Passwort zurücksetzen.


Dashboard

Image description
Das Menü

  • Suchfeld
  • Admin – Link zur Startseite
  • About und Contact – Platzhalterseiten
  • <Nutzername> - Logout

Die Startseite bietet Verweise auf die wichtigsten Seiten:

  • Login phpMyAdmin – Jeder Schüler hat mit den angegebenen Logindaten Zugriff auf seine eigene Datenbank.
  • Add Member – diese Funktion steht zur Verfügung, sobald die erste Tabelle erstellt wurde. Hierüber können Schüler neue Nutzer anlegen
  • View all Member – sind Nutzer vorhanden, können diese in einer Liste ausgegeben werden

Profilübersicht
Ist die erste Tabelle erzeugt und mit Inhalten gefüllt können die Profile der (fiktiven) Nutzer verwaltet werden.

Image description

Profil
Ist die erste Tabelle erzeugt und mit Inhalten gefüllt können sich die Profile der (fiktiven) Nutzer angesehen werden.

Image description

Posts
Die zweite Tabelle ist ein Beispiel für eine 1:n Relation und ermöglicht es den Schülern in jedem Profil zu bloggen. Die mitgelieferten Zitate sind absichtlich völlig falschen Persönlichkeiten zugeordnet.

Image description

Followers
Durch eine weitere Tabelle mit einer n:m Relation können sich die Mitglieder gegenseitig folgen:

Image description

Ablauf
Schüler müssen in der Anwendung alle Tabellen erstellen. Dabei wird der SQL-Ausdruck für die erste Tabelle zum Abschreiben gegeben und alle weiteren zum Kopieren bereitgestellt.
Das Erlernen der Sprache wird auf die CRUD-Operatoren SELECT, CREATE, UPDATE und DELETE fokussiert.
Alle Arbeiten an der Datenbanken werden in phpMyAdmin durchgeführt:

Image description

Lehrersicht

Der Lehrer erhält eine erweiterte Sicht. Unter einem Direktlink, welcher nur für Lehrera-Accounts nutzbar ist, steht eine Oberfläche bereit um alle Schüler-Accounts zu verwalten:

Image description
Neben dem Verwalten kann der Lehrer ohne Kenntnis der Schülerkennwörter sich in den Account des Schülers einloggen.
Für einzelne Schüler können alle Tabellen auch während des Unterrichtes über eine Oberfläche verwaltet werden:

Image description
Für Lehrer existiert ein Account, um alle Datenbanken direkt einsehen zu können:

Image description

 

Material

zum Kontaktformular

Wenn ich Ihr Interesse geweckt habe, freue ich mich über Anmerkungen, Lob und Kritik.

Sofern Sie Lehrer an einer staatlichen oder gemeinnützigen Schulform sind, stelle ich Ihnen gern die Anwendung bereit. Als Nachweis empfehle ich eine Schulemailadresse, die nur Lehrer oder Verwaltungsangestellte erhalten können. Hochschulmitarbeiter oder von solchen Beauftragte Studenten erhalten ebenfalls Zugriff. Haben Sie als gewinnorientiertes Unternehmen Interesse an diesem Projekt, kontaktieren Sie mich gerne.

Die Anwendung
Zur Ausführung benötigen Sie einen PHP-fähigen Server und einen MySQL-Datenbankserver. Die Anwendung wird selbstständig Datenbanken auf diesem Anlegen. Ein anderer SQL-Server ist auch möglich, erfordert aber Anpassungen am Quelltext und ggf. einzelnen SQL-Statements.
Sie können Zugriff auf das Git- Repository erhalten und die Anwendung selbst deployen. Alternativ steht auch eine XAMPP-Variante mit minimalen Konfigurationsbedarf zur Verfügung. Diese eignet sich besonders für schnelles Ausprobieren oder Betreiben unter Windows.

Lehrmaterial
Alle Aufgaben sind in moodle umgesetzt. Gern können Sie einen Gast-Zugang erhalten. Eine Präsentation für den Unterricht existiert ebenfalls. Einen Skript für den Lehrer gibt es auch, dieser ist aber speziell nach meinen Ideen vermutlich sehr untypisch dokumentiert.

Bedingungen
Ich möchte Sie bitten beim Weitergeben dies unter meinen Bedingungen durchzuführen und Ihre Ursprungsqulle (wi-wissen.de) anzugeben. Gegenüber den Lernenden ist dies natürlich nicht nötig. Wenn Sie Änderungen an der Anwendung und am Lehrmaterial durchführen, möchte ich Sie bitten mir diese zurückzugeben, damit ich meinen Unterricht ebenfalls verbessern kann.

 

Weiterentwicklung

Die Entwicklung eines sozialen Netzes ist sehr aufwendig. Über eine Weiter- bzw. Mitentwicklung würde ich mich sehr freuen. Die Anwendung ist mit dem PHP-Framework Laravel entwickelt.
Perspektivisch sind folgende Punkte geplant:

  • Freundschaften können noch nicht über die Oberfläche geschlossen werden.
  • Das Suchfeld ist schon fertig. Ein eigener SQL-Ausdruck kann noch nicht hinterlegt werden.
  • Es fehlt noch ein Nachrichten-Feed zu Blogposts von allen, denen man folgt.
  • Es wird nur Text in der Datenbank abgelegt, Bilder werden außerhalb verwaltet. Um das Beispiel nicht zu verkomplizieren, bleibt das erst einmal so.