Modules Documentation
Cross-module connections
Which other modules surface signals here and why.
The Calendar is the time spine of the cross-module graph. It connects to every other entity type — Founders (as speakers/judges/participants), Startups (as organizers/demoers/exhibitors), Editorial (as preview articles + Events Coverage), Opportunities (as deadline-anchored programs), and Founder Files (as event-tied resources). Five relatedXxxIds[] arrays make these connections explicit.
The five connections
- Calendar → Founders
- relatedFounderIds[]. Speakers, judges, panelists, or featured founders at the event. On the founder profile, the "Speaking history" + "Events I’ve attended" rails are computed by reverse-lookup of this array.
- Calendar → Startups
- relatedStartupIds[]. Organizers, demoers (for demo days), exhibitors (for trade events), or featured startups. On the startup page, the "Conference + demo day history" rail is computed from this.
- Calendar → Editorial
- relatedEditorialIds[]. Articles that preview or analyze the event (separate from the dedicated coverage article in the Events Coverage module). On the editorial article, an "Events" sidebar shows linked events.
- Calendar → Opportunities
- relatedOpportunityIds[]. When an event also has a programmatic deadline tracked in Opportunity Radar (e.g. an accelerator application + a demo day), both records co-reference each other.
- Calendar → Founder Files
- relatedFileIds[]. Founder Files often tied to an event — e.g. a "How to pitch at demo day" file linked to the demo day record. Bidirectional: the file shows "Best for: attendees of <event>".
Events Coverage tier 1 relationship
The Events Coverage module is a strict downstream of the Calendar. A coverage article cannot exist without a Calendar event record. coverageEligible + coverageStatus on the CalendarEvent are the source-of-truth fields that feed the Events Coverage editorial queue. When a coverage article publishes, the corresponding event’s coverageStatus flips to "covered" and a reverse-link appears on the event details page.
