Data Model
I'd propose fully leveraging the new 'Entity' concept within Drupal to represent each of the components required in a league management module.
Object | Entity | Bundles | Comments |
---|---|---|---|
Sport | Sport | Team Sport Individual Sport |
|
League | League | League Conference Division |
Conferences and Divisions would have a 'parent league' reference field |
Season | Season | Season | |
Facilities | Facility | Site Field/Court |
Fields have a 'site' reference (support for 'multi-field' sites) |
Team | Team | Team Container Team Instance |
Team 'Instance' represents team in a season |
Club | Club | Club | Contains one or more teams. i.e. 1st, 2nd, mens, womens, juniors |
Roster | Roster | Roster Instance Line-up |
Roster 'Instance' represents roster in a season, 'Lineup' in a game |
Player | Player | Player User Admin |
"User" players have uid, Admin for non-players (such as coach) |
Position | Position | Position | Represents sport-specific 'positions' as well as admin (coach, etc) |
Match | Match | Match Exhibition Match (by sport) |
May include 'parent' relationships for Game/Set/Match setups |
Result | Result | Game/Set/Match Results types (by sport) | |
Summary | Summary | Game Scoring Summary (by sport) | |
Stats | Player Stats | Per sport Player Statistics bundles |