Wenn Du auf Meetup.com einer Meetup-Gruppe beitrittst, musst Du in der Regel ein Profil für die jeweilige Gruppe ausfüllen. Wenn Sie beispielsweise einer Meetup-Gruppe für Filme beitreten, müssen Sie möglicherweise die Filmgenres angeben, die Sie mögen, usw.
Ich baue eine ähnliche Anwendung auf, bei der Benutzer verschiedenen Gruppen beitreten und unterschiedliche Profildetails für jede Gruppe ausfüllen können. Nehmen Sie die 2 Möglichkeiten an:
- Benutzer können ihre eigenen Gruppen erstellen und festlegen, welche Details sie den Benutzern, die dieser Gruppe beitreten, mitteilen möchten (also etwas, das ein wenig dynamisch ist - was vielleicht darauf hindeutet, dass zumindest ein EAV-Design erforderlich ist)
- Der Entwickler entscheidet nun, welche Gruppen erstellt werden sollen, und legt fest, welche Angaben die Nutzer, die dieser Gruppe beitreten, erhalten sollen (d. h. die Profildaten werden vordefiniert und im System "fest einprogrammiert").
Wie lassen sich solche Daten am besten modellieren?
Ein ausführlicheres Beispiel:
Die Gruppe "Kinogänger" bittet ihre Mitglieder, Folgendes anzugeben:
- Name
- Geburtsdatum (wird zur Berechnung des Alters des Mitglieds verwendet)
- Geschlecht (bitte wählen Sie zwischen "männlich" und "weiblich")
- Bevorzugte Genres (wählen Sie 1 oder mehrere aus einer Liste bestimmter Genres aus)
Die Gruppe "Extremsportarten" fordert ihre Mitglieder auf, Folgendes anzugeben:
- Name
- Beschreibung der genossenen Aktivitäten (in Form einer Erzählung)
- Postleitzahl
Unterm Strich kann jede Gruppe unterschiedliche Angaben von den Mitgliedern verlangen, die ihrer Gruppe beitreten. Im Idealfall möchte ich, dass jeder eine Gruppe erstellen kann (ala MeetUp.com). Ich muss aber auch die Möglichkeit haben, die Mitglieder ziemlich gut zu suchen (z. B. alle weiblichen Kinobesucher zwischen 25 und 30 Jahren).