Overview
The Job model represents employment opportunities, volunteer positions, and internships available in and around Dzaleka Refugee Camp. Jobs can be posted by organizations, businesses, and community groups.Schema Definition
The Job model is defined using Zod schema validation insrc/content.config.ts:242-269.
TypeScript Type
Fields
Core Fields
string
required
The job title or position name (e.g., “Content Curator & Editor”).
string
required
The name of the hiring organization (e.g., “Dzaleka Digital Heritage”).
string
required
The work location (e.g., “Remote / Dzaleka”, “Dzaleka Refugee Camp”, “Dowa District”).
enum
required
The employment type. Options:
'full-time'- Full-time position'part-time'- Part-time position'contract'- Contract-based work'volunteer'- Volunteer opportunity'internship'- Internship or training position
enum
required
The job category. Options:
'education'- Education and teaching roles'healthcare'- Medical and health services'technology'- IT and digital roles'community'- Community development'business'- Business and entrepreneurship'arts'- Creative and cultural positions'services'- Service industry roles'other'- Other categories
string
required
Detailed job description, responsibilities, and requirements. This field contains the full job posting content.
string
Compensation or salary range (e.g., “Competitive”, “Volunteer”, “$500-800/month”).
Date
required
Application deadline. Automatically coerced to Date type from various input formats.
Date
required
Date when the job was posted. Automatically coerced to Date type.
enum
required
Current status of the job posting. Options:
'open'- Accepting applications (default)'closed'- No longer accepting applications'draft'- Not yet published
'open'.boolean
required
Whether the job should be featured prominently on the platform. Defaults to
false.string[]
required
Array of required or desired skills for the position.
Contact Information
object
required
Example
Here’s a complete example of a Job object:Usage in Content
Jobs are stored as Markdown files insrc/content/jobs/ with YAML frontmatter:
Validation Rules
- All required fields must be provided:
title,organization,location,type,category,deadline,posted,status,featured,skills,contact, anddescription contact.emailmust be a valid email address formatcontact.website(if provided) must be a valid URL formattypemust be one of:'full-time','part-time','contract','volunteer', or'internship'categorymust be one of the predefined categoriesstatusmust be'open','closed', or'draft'skillsmust be an array with at least one skilldeadlineandposteddates are automatically coerced from various date formats
Status Management
Thestatus field helps manage job postings:
- open: Currently accepting applications
- closed: No longer accepting applications (past deadline or position filled)
- draft: Not yet published to the public platform
Featured Jobs
Settingfeatured: true will display the job prominently on the jobs page and homepage, helping important positions get more visibility.