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 |