Documentation Index
Fetch the complete documentation index at: https://dos.dzaleka.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Services Directory is the flagship feature of Dzaleka Online Services, connecting over 100+ verified organizations with community members seeking healthcare, education, legal support, and business services. It provides a searchable, categorized database of active service providers operating in and around Dzaleka Refugee Camp.The Services Directory is built using Astro’s content collections, allowing easy content management through Markdown files with frontmatter validation.
User Experience
Discovery & Search
Users can discover services through multiple pathways:Browse by Category
Filter services by categories like Education, Health, Non-profit Organizations, Advocacy, Humanitarian Aid, Entrepreneurship, Youth, and Cultural services.
Service Detail Pages
Each service has a dedicated page showing:- Organization details: Title, description, logo, category
- Contact information: Email, phone, operating hours
- Location: Address with interactive map coordinates
- Social media: Links to Facebook, Twitter, Instagram, LinkedIn, website
- Verification status: Verified badge for trusted organizations
- Last updated date: Shows when information was refreshed
Real-time Filtering
Client-side JavaScript filters services instantly without page reloads
SEO Optimized
Rich metadata and structured data (Schema.org) for search engines
Mobile Responsive
Adaptive design works seamlessly on phones, tablets, and desktops
100% Free
Organizations can register and list their services at no cost
Content Schema
Services are stored as Markdown files insrc/content/services/ with YAML frontmatter. Here’s the schema:
Real Example from Source
Here’s a real service from the codebase (tumaini-letu.md):
How to Add a New Service
User Registration Flow
Organizations can self-register through the/services/register page:
- Form Submission: Fill out organization details via web form
- Email Notification: Submission details sent to admin team
- Review Process: Admin verifies information and creates content file
- Publication: Service goes live after approval
- Confirmation: Organization receives success notification at
/services/update-success
Technical Implementation
Data Fetching
Services are fetched using Astro’s Content Collections API:src/pages/services/index.astro
Search & Filter Logic
Client-side filtering uses vanilla JavaScript for performance:Interactive Filtering
Category Routing
Dynamic routes handle category filtering (/services/category/[category]):
src/pages/services/category/[category]/[...page].astro
SEO & Structured Data
The services directory includes comprehensive SEO:Schema.org Markup
Schema.org Markup
OpenGraph Metadata
OpenGraph Metadata
Statistics & Analytics
The platform tracks key metrics:src/utils/serviceStats.ts
/services/stats for real-time insights.
Best Practices
Keep Information Current
Update the
lastUpdated field whenever details change. Users rely on accurate contact info.Use High-Quality Logos
Recommended size: 400x400px, PNG format with transparent background.
Write Clear Descriptions
Explain what services you offer, who you serve, and how to access your programs.
Verify Contact Details
Ensure phone numbers and emails are monitored and responsive.
Common Issues & Solutions
Service not appearing on the website
Service not appearing on the website
- Check that
status: "active"is set in frontmatter - Verify the file is in
src/content/services/directory - Ensure frontmatter follows the correct YAML syntax (proper indentation)
- Restart the dev server:
npm run dev
Search not finding my service
Search not finding my service
The search function filters by title only. Ensure your service title contains relevant keywords users might search for.
Map coordinates not working
Map coordinates not working
Use decimal degrees format:
Related Features
Events
Promote your organization’s events
Jobs
Post job opportunities
Marketplace
List products or services for sale