Overview
The Event model represents community events, workshops, meetings, and gatherings in and around Dzaleka Refugee Camp. Events can be in-person or online, and may include registration requirements and panelist information.Schema Definition
The Event model is defined using Zod schema validation insrc/content.config.ts:97-132.
TypeScript Type
Fields
Core Fields
The name of the event.
A detailed description of what the event is about, its purpose, and what attendees can expect.
The start date and time of the event in ISO 8601 format.
The end date and time of the event (for multi-day events).
The location where the event takes place (e.g., “Online”, “Dzaleka Community Center”, “Zoom Meeting”).
The type or category of event (e.g., “Zoom Meeting”, “Workshop”, “Conference”, “Community Gathering”).
The name of the individual or organization hosting the event (e.g., “Inua Advocacy”).
Current status of the event. Options:
'upcoming' | 'past'. Defaults to 'past'.Whether this event should be featured prominently on the platform.
Path or URL to a promotional image for the event.
Array of tags for categorization and searchability (e.g., [“Refugees”, “Malawi”, “Laws”]).
Contact Information
Registration Information
Panelists
Array of speakers, panelists, or presenters for the event.
Example
Here’s a complete example of an Event object for a community discussion:Usage in Content
Events are stored as Markdown files insrc/content/events/ with YAML frontmatter:
Validation Rules
title,description,date,location,category, andorganizerare required fieldsstatusmust be either'upcoming'or'past'(defaults to'past')dateandendDatemust be valid Date objects or ISO 8601 strings- If
registration.requiredistrue, it’s recommended to provide aregistration.url - Panelist names are required if the panelists array is provided
Status Management
Thestatus field helps distinguish between:
- upcoming: Events that haven’t occurred yet
- past: Events that have already taken place