WFP Jordan Data Quality Automation
Comprehensive documentation for the Data Quality and Overview Application
Welcome! π
This documentation site provides everything you need to work with the WFP Data Quality and Overview Application for Jordan. Whether youβre adding new exercises, exploring survey data, or understanding the system architecture, youβll find comprehensive guides and examples here.
π― Choose Your Path
I want to add an exercise quickly
β Start with Quick Start Guide
- Run
tools/discover_surveys.rto find your survey - Copy the template
- Fill in details
- Test in app
Time: ~20 minutes
I want to learn the discovery process
β Read Interactive Discovery Guide
- Understand survey discovery
- Learn exploration techniques
- Follow step-by-step tutorial
Time: ~30 minutes
I need complete reference information
β See Adding New Exercises
- Complete exercise structure
- All validation rules
- All UI components
- Troubleshooting guide
Time: Reference as needed
I want to see a real example
β Study BCM Welcome Meals Example
- See actual implementation
- Understand decisions made
- Learn patterns
Time: ~15 minutes
ποΈ Application Architecture
The application uses a registry-based system where exercises are automatically discovered and loaded from the app/exercises/ directory.
Architecture Flow:
Main App (app.r)
β
Exercise Registry (exercise_registry.r)
β
βββ Exercise 1
βββ Exercise 2
βββ Exercise N
β
Reusable Components
βββ Validation Rules
βββ UI Components
βββ Helper Functions
Core Components
Exercise Files (app/exercises/*.r)
Each exercise is self-contained with metadata, data fetching, validation rules, and visualizations.
Validation Rules (app/R/validation_rules.r)
Reusable validation functions including duration checks, submission validations, and data quality rules.
Visualization Helpers (app/R/visualization_helpers.r)
Pre-built UI components for metrics, breakdowns, and dashboards.
π Key Features
1. Automatic Exercise Discovery
- Place file in
app/exercises/ - App automatically detects and loads it
- No manual registration needed
2. Interactive Survey Discovery
- Tool:
tools/discover_surveys.r - Search surveys by keyword
- Inspect data structure automatically
- See Interactive Discovery Guide
3. Reusable Components
- Pre-built validation rules
- Consistent UI patterns
- Easy to extend
4. Real-time Validation
- Multiple validation rules per exercise
- Clear pass/fail indicators
- Detailed error information
5. Custom Dashboards
- Exercise-specific visualizations
- Monitoring metrics
- Responsive layouts
π Documentation Sections
User Guides
Comprehensive guides for adding exercises, working with metadata, and understanding validation coverage.
- Adding New Exercises - Complete reference
- Adding Metadata - XLSForm integration
- Validation Coverage - Implementation status
Examples
Real-world examples showing complete implementations:
Development Notes
Internal development documentation for understanding implementation decisions and architecture changes.
π Learning Path
- Read this overview page
- Run the app:
shiny::runApp("app") - Try discovery tool:
source("tools/discover_surveys.r") - Study Quick Start Guide
- Review Interactive Discovery Guide
- Study existing exercises in
app/exercises/ - Read validation rules in
app/R/validation_rules.r - Create your first exercise using the template
- Read complete Adding New Exercises
- Study the registry system:
app/R/exercise_registry.r - Create custom validation rules
- Build custom visualization components
- Extend the framework
π Quick Reference
| I want to⦠| Go to⦠|
|---|---|
| Add an exercise quickly | Quick Start |
| Learn survey discovery | Interactive Discovery |
| Get complete reference | Adding New Exercises |
| See a real example | BCM Welcome Meals |
| Understand validation coverage | Validation Coverage |
| Work with metadata | Adding Metadata |
| Troubleshoot issues | Troubleshooting Guide |
Before you begin, ensure you have:
- R and RStudio installed
- Access to DataBridges API credentials
- The project repository cloned locally
See the Quick Start Guide for setup instructions.
Ready to get started? Choose your path above and dive in! π