Skip to content

Features Overview

Introduction

Ministry Mapper is a comprehensive digital territory management platform designed for religious congregations. This page provides a detailed overview of all features and capabilities.


๐Ÿ—บ๏ธ Territory Management

Organize Geographic Regions

Create and Manage Territories: - Create unlimited territories per congregation - Assign unique codes and descriptions - Organize territories by priority with drag-and-drop sequencing - Track completion percentage automatically - Reset territory status to restart tracking - Move maps between territories easily

Territory Statistics: - Aggregate completion tracking - Visual progress indicators - Real-time update of statistics - Per-territory breakdowns - Historical tracking

Use Case: Divide your congregation's service area into manageable territories for organized field service work.


๐Ÿข Map & Address Management

Interactive Location Tracking

Map Types:

1. Public Addresses (Multi-floor Buildings) - Support for multi-story buildings - Add/remove floors dynamically - Each floor contains multiple units - Automatic address code application to all floors - Floor-by-floor organization

2. Private Addresses (Single-story Residences) - Individual houses or standalone properties - Simpler structure without floor subdivision - Quick address entry

Map Features: - Attach GPS coordinates for precise location - Add detailed descriptions - Sequence numbers for organized visiting - Visual map integration with Leaflet/OpenStreetMap - Get directions to any address - Geolocation support

Address Operations: - Add/remove address codes - Resequence addresses for optimal routing - Bulk operations for efficiency - Copy addresses across floors - Rename and reorganize


๐Ÿ“Š Unit/Household Tracking

Comprehensive Visit Status Management

Status Types:

Status Description Impact on Progress
Not Done Initial state, not yet visited Counted in incomplete
Done Successfully completed Counted as complete
Not Home No one home, can retry Counted after max tries
Do Not Call (DNC) Household requests no visits Excluded from counting
Invalid Unit doesn't exist Excluded from counting

Not Home Tracking: - Configurable maximum tries per congregation - Automatic counter increment - Treated as "done" after max attempts - Prevents indefinite revisits

Completion Logic:

Complete when:
  - Status = Done, OR
  - Status = Not Home AND tries >= max_tries

Progress % = Completed / Total Countable Units ร— 100

Household Options: - Customizable address classifications - Countable vs non-countable types - Default options for new addresses - Multiple options per address - Affects progress calculations

Visit Notes: - Add detailed notes per address - Automatic timestamp tracking - Track who made updates - Email notifications for note changes - Historical note viewing


Secure, Time-Limited Access

Link Features: - Time-Limited: Configurable expiry (default 24 hours) - Token-Based: Secure 20-character access tokens - No Account Needed: Publishers access via link only - Two Types: - Normal assignments for regular territory work - Personal assignments for personal ministry

Intelligent Assignment Algorithm:

When requesting a new assignment, the system:

  1. Primary Factor: Selects map with fewest active assignments
  2. Prevents overloading single maps
  3. Balances workload

  4. Secondary Factor: Prefers geographically closer maps

  5. Uses GPS coordinates
  6. 50-meter threshold
  7. Reduces travel time

  8. Tertiary Factor: Prioritizes lower completion progress

  9. Ensures balanced territory completion
  10. Prevents some areas being neglected

Assignment Workflow:

1. Conductor generates assignment link
2. Link shared with publisher (QR, email, text)
3. Publisher accesses /map/:assignmentId
4. System validates token and expiry
5. Publisher updates address status in real-time
6. Link expires automatically
7. Admin receives real-time updates

Assignment Management: - View active assignments per map - See who has which territory - Track assignment history - Manual assignment deletion - Automatic cleanup of expired links (every 5 minutes)


๐Ÿ‘ฅ User Management & Access Control

Role-Based Permission System

Four User Roles:

1. Publisher (Most Restricted)

Access Method: Time-limited assignment links only

Permissions: - โœ… View assigned map only - โœ… Update address/unit status - โœ… Add visit notes - โœ… Send feedback messages - โŒ Cannot see other territories - โŒ Cannot create territories - โŒ Cannot manage users

Use Case: Field service publishers working territories


2. Read-Only

Access Method: User account with read-only role

Permissions: - โœ… View all congregation data - โœ… View territories and maps - โœ… View address information - โœ… View messages - โŒ Cannot modify anything - โŒ Cannot create assignments - โŒ Cannot manage users

Use Case: Observers, auditors, service committee members


3. Conductor (Mid-level)

Access Method: User account with conductor role

Permissions: - โœ… All Read-Only permissions - โœ… Create and manage territories - โœ… Create and manage maps - โœ… Add/update addresses - โœ… Generate publisher assignment links - โœ… View all congregation data - โœ… Manage household options - โœ… Reset territories - โŒ Cannot manage user roles - โŒ Cannot configure congregation settings - โŒ Cannot delete users

Use Case: Field service overseers, territory coordinators


4. Administrator (Full Access)

Access Method: User account with administrator role

Permissions: - โœ… All Conductor permissions - โœ… Create and manage users - โœ… Assign user roles - โœ… Configure congregation settings - โœ… Manage household options - โœ… Delete territories and maps - โœ… Delete user accounts - โœ… View all assignments and messages - โœ… Configure maximum not-home tries - โœ… Set link expiry duration - โœ… Access system logs

Use Case: Territory servants, system administrators


User Account Management

Features: - Email-based authentication - Email verification required - Password reset functionality - OAuth2 Google authentication - Multi-factor authentication (MFA) support - One-time password (OTP) support - Account disable/enable - Last login tracking - Multi-congregation support (different roles per congregation)


๐Ÿ› ๏ธ Congregation Settings

Customizable Configuration

Core Settings:

1. Maximum Not-Home Tries - Set how many "not home" visits before considering done - Typical: 2-3 tries - Affects progress calculations - Congregation-specific

2. Assignment Link Expiry - Configure how long links remain valid - Default: 24 hours - Customizable per congregation - Automatic cleanup of expired links

3. Household Options - Create custom address classifications - Examples: "Residential", "Business", "High-rise", "Language: Spanish" - Mark options as "countable" (affects completion %) - Set default option for new addresses - Reorder with drag-and-drop - View which addresses have each option

4. Regional Settings - Timezone configuration - Country/region selection - Affects date calculations and reports


๐Ÿ’ฌ Communication & Messaging

In-App Communication System

Message Types:

1. Publisher Messages - From publishers to conductors/admins - Attached to specific maps - Territory-specific feedback - Real-time delivery

2. Conductor Messages - Administrative communications - Map-specific instructions - Coordination messages

3. Admin Messages - Can be pinned for visibility - Read status tracking - Important announcements - Broadcast to publishers

4. Pinned Messages - Remain visible until unpinned - Read tracking per user - Auto-email to relevant users - Priority display

Email Notifications:

Automated email digests sent for: - Every 30 minutes: Unread messages to administrators - Every 30 minutes: Pinned admin messages to publishers - Every 1 hour: Note updates to administrators - Monthly: Congregation reports with Excel attachment

Email Templates: - Professional HTML templates - Mobile-responsive design - Includes relevant links - Customizable content


๐Ÿ”„ Real-Time Collaboration

Live Data Synchronization

Real-Time Features:

SSE Subscriptions: - Live updates via Server-Sent Events (SSE) - Automatic reconnection on disconnect - Low latency (<100ms typical)

Concurrent Editing: - Multiple users can work simultaneously - No conflicts or data loss - Last-write-wins strategy - Timestamp-based resolution

Automatic Refresh: - Data updates immediately when changed - No manual page refresh needed - Visual indicators for updates - Optimistic UI updates

Visibility Detection: - Automatically refreshes when tab becomes visible - Saves bandwidth when tab is hidden - Prevents stale data

Collaboration Scenarios: - Admin creates territory while conductor viewing list โ†’ Instantly appears - Publisher marks units complete โ†’ Admin sees progress update live - Multiple conductors managing different territories โ†’ No conflicts - Real-time statistics updates as work progresses


๐Ÿ“ฑ Progressive Web App (PWA)

Native App Experience

PWA Capabilities:

Installable: - Add to home screen (mobile) - Install as desktop app - Appears in app launcher - Full-screen mode - Custom app icon

Desktop Installation:

Visit URL โ†’ Browser menu โ†’ "Install app"

Mobile Installation:

Visit URL โ†’ Share โ†’ "Add to home screen"

Offline Support: - Static assets cached via service worker - Continue viewing cached data when offline - Automatic sync when connection restored - Background updates

Performance Benefits: - Faster load times (cached assets) - Reduced data usage - Works on slow connections - Smooth animations

Native Features: - Push notifications (planned) - Background sync - Native file handling - Share API integration


๐ŸŒ Internationalization

Multi-Language Support

Supported Languages: 1. English (en) - Primary language 2. Spanish (es) - Espaรฑol 3. Indonesian (id) - Bahasa Indonesia 4. Japanese (ja) - ๆ—ฅๆœฌ่ชž 5. Korean (ko) - ํ•œ๊ตญ์–ด 6. Malay (ms) - Bahasa Melayu 7. Tamil (ta) - เฎคเฎฎเฎฟเฎดเฏ 8. Chinese (zh) - ไธญๆ–‡

i18n Features: - Language selector in navigation - Persistent preference (localStorage) - Browser language detection - Complete UI translation - Dynamic switching (no reload) - Easy to add new languages

Adding New Language: 1. Create translation file in src/i18n/locales/[lang].json 2. Copy structure from en.json 3. Translate all strings 4. Register in src/i18n/index.ts


๐ŸŒ™ Dark Mode

System-Aware Theming

Theme Options: - Light Mode: Traditional light theme - Dark Mode: Eye-friendly dark theme - System: Follows OS preference

Benefits: - Reduced eye strain - Better battery life (OLED screens) - Accessibility compliance - Modern user experience

Implementation: - CSS custom properties - Smooth transitions - Persistent preference - No flash of wrong theme


๐Ÿ“ˆ Reporting & Analytics

Comprehensive Statistics

Monthly Congregation Reports: - Schedule: 1st of each month at midnight - Format: Excel workbook (.xlsx) - Delivery: Email to all administrators

Report Contents:

1. Congregation Overview - Congregation name and details - Reporting period - Overall statistics

2. Territory Breakdown - Completion percentage per territory - Number of maps per territory - Address distribution - Progress over time

3. Address Statistics - Total addresses by type - Status distribution (done, not done, etc.) - Countable vs non-countable breakdown - DNC and invalid counts

4. Publisher Assignments - Active assignments count - Assignment history - Territory coverage

5. Progress Tracking - Month-over-month comparison - Trends and insights - Areas needing attention

Excel Features: - Professional formatting - Charts and graphs - Pivot-ready data - Print-friendly layout

Real-Time Dashboard: - Live statistics on admin panel - Territory completion tracking - Address status distribution - Active assignment monitoring - Recent activity feed


๐Ÿ” Security Features

Enterprise-Grade Security

Authentication Methods:

1. Email/Password - Bcrypt password hashing (cost: 10) - Minimum 6 characters - Email verification required - Password reset via email

2. OAuth2 (Google) - PKCE flow for security - Automatic user creation - No password management needed - Secure token handling

3. One-Time Password (OTP) - Optional 4-digit code - 180-second validity - Additional security layer - Email delivery

4. Multi-Factor Authentication (MFA) - TOTP support - Enhanced security for admins - 1800-second session - Backup codes

Access Control:

Role-Based Access Control (RBAC): - Fine-grained permissions - Congregation-level isolation - Multi-tenant architecture - Secure by default

Link-Based Access: - Temporary anonymous access - Token-based authentication - Automatic expiration - Revocable access

Security Best Practices: - HTTPS enforcement - CORS configuration - Rate limiting - SQL injection prevention (parameterized queries) - XSS protection - CSRF protection - Input validation - Output sanitization

Audit Trail: - User action logging - Change tracking - Who updated what when - IP address logging - Authentication attempts

Error Tracking: - Sentry integration - Real-time error monitoring - Stack traces for debugging - Release tracking - Performance monitoring


๐Ÿ—บ๏ธ Interactive Mapping

Leaflet + OpenStreetMap Integration

Mapping Features:

Base Features: - Interactive pan and zoom - Street-level detail - Satellite imagery option - Custom markers for addresses - Territory boundary visualization - Cluster markers for dense areas

Navigation: - Get directions to any address - Integration with device maps app - Distance calculation - Optimal route planning - GPS location support

Geolocation: - Detect current location - Center map on user - Proximity-based assignment - Distance to territories

Custom Markers: - Status-based color coding - Custom icons - Info popups - Click interactions - Marker clustering

Performance: - Lazy loading of tiles - Efficient marker rendering - Viewport-based loading - Mobile-optimized

Advantages: - No API limits - Free to use - No billing required - OpenStreetMap data - Full offline tile caching possible


๐Ÿ“ง Email System

Automated Email Notifications

Email Service: MailerSend API v1

Email Types:

1. Message Notifications - Schedule: Every 30 minutes - Recipients: Administrators - Content: Unread publisher messages - Template: Professional HTML

2. Admin Instructions - Schedule: Every 30 minutes - Recipients: Publishers (non-admin users) - Content: Pinned administrator messages - Template: Instruction format

3. Note Updates - Schedule: Every 1 hour - Recipients: Administrators - Content: Address note changes - Template: Note digest format

4. Monthly Reports - Schedule: 1st of month - Recipients: Administrators - Content: Statistical report with optional AI-generated territory summaries - Attachment: Excel workbook - AI Summary: When enabled via enable-report-ai-summary feature flag and OPENAI_API_KEY is configured, each territory sheet includes an AI-generated overview of key trends and notable observations

5. System Emails - Email verification - Password reset - Account alerts - Authentication notifications

Template Features: - Mobile-responsive HTML - Professional design - Inline CSS for compatibility - Plain text fallback - Unsubscribe links - Tracking pixels (optional)


๐Ÿ”„ Background Jobs

Automated Task Processing

Job Scheduler: Cron-based with LaunchDarkly feature flags

Scheduled Jobs:

Job Schedule Purpose
Assignment Cleanup Every 5 min Delete expired assignments
Territory Aggregates Every 10 min Update progress statistics
Message Processing Every 30 min Send message notifications
Instructions Every 30 min Send admin messages
Note Updates Every 1 hour Notify of note changes
Monthly Reports 1st of month Generate Excel reports (with optional AI summaries)
Unprovisioned Users Daily 01:00 UTC Enforce user lifecycle (warnings โ†’ disable โ†’ delete)
Inactive Users Daily 01:30 UTC Warn and disable inactive accounts

Feature Flag Control: - Enable/disable jobs without deployment - Gradual rollout capabilities - A/B testing - Emergency off switch - Per-congregation control

Job Monitoring: - Execution logs - Success/failure tracking - Duration metrics - Error alerting - Retry logic


๐ŸŽจ User Interface

Modern, Responsive Design

UI Framework: Bootstrap 5.3.8 + Custom Components

Design Principles: - Mobile-first approach - Touch-friendly interactions - Accessibility compliant (WCAG 2.1) - Consistent visual language - Intuitive navigation

Key UI Elements:

Navigation: - Responsive navbar - Congregation selector - Speed dial (floating action button) - Breadcrumb navigation - Quick links

Forms: - Inline validation - Error messaging - Auto-save drafts - Keyboard shortcuts - Progressive disclosure

Tables: - Sortable columns - Inline editing - Bulk actions - Pagination - Search and filter - Export capabilities

Modals: - 24+ specialized modals - Keyboard navigation - Focus management - Stacking support - Mobile-optimized

Feedback: - Toast notifications - Loading indicators - Progress bars - Success confirmations - Error alerts

Responsive Breakpoints: - Mobile: <768px - Tablet: 768px-1024px - Desktop: >1024px - Large desktop: >1440px


๐Ÿš€ Performance

Optimized for Speed

Frontend Optimizations: - Code splitting by route - Lazy loading components - Image optimization - CSS minification - JavaScript bundling - Tree shaking - Service worker caching

React 19 Compiler: - Automatic memoization - No manual optimization needed - Smaller bundle size - Faster rendering

Backend Optimizations: - Database indexing (25+ indexes) - Query optimization - Connection pooling - Aggregate caching - Transaction batching - Gzip compression

Caching Strategy: - Browser caching (static assets) - Service worker (offline assets) - CDN edge caching - Database query caching

Performance Targets: - First Contentful Paint: <1.5s - Time to Interactive: <3s - Lighthouse Score: >90 - Core Web Vitals: All green


๐Ÿ”Œ API & Integration

RESTful API + SSE

API Features: - RESTful endpoints - JSON payloads - JWT authentication - Pagination support - Filtering and sorting - Rate limiting - CORS support

SSE (Server-Sent Events): - Real-time subscriptions - Automatic reconnection - Low latency - Event-driven updates

Integration Options: - PocketBase SDK (JavaScript/TypeScript) - Direct HTTP requests - SSE client - OAuth2 integration - Webhook support (planned)


๐Ÿ“Š Data Management

Robust Data Layer

Database: SQLite via PocketBase

Features: - ACID transactions - Foreign key constraints - Cascade deletes - JSON field support - Full-text search - Automatic backups

Data Import/Export: - Excel export (reports) - CSV export (planned) - JSON export via API - Backup/restore

Data Integrity: - Referential integrity - Validation rules - Unique constraints - Check constraints - Auto-generated IDs


๐ŸŽฏ Future Roadmap

Planned Features

Near Term (Q1-Q2 2025): - Push notifications - CSV import/export - Advanced filtering - Custom reports - Batch operations - Print layouts

Medium Term (Q3-Q4 2025): - Mobile apps (iOS/Android) - Webhook integrations - Custom fields - Advanced analytics - Team collaboration tools - Integration marketplace

Long Term (2026+): - AI-powered insights - Predictive analytics - Voice commands - Augmented reality navigation - Blockchain audit trail - Multi-org hierarchies


๐Ÿ“š Documentation & Support

Comprehensive Resources

Documentation: - Getting Started - User Guide - Architecture - Deployment Guide - FAQ

Support Channels: - GitHub Issues - Community Forums - Email Support (hosted service) - Documentation Site - Video Tutorials (planned)


โœ… Conclusion

Ministry Mapper provides a complete, modern solution for digital territory management with:

  • โœ… Comprehensive territory and address management
  • โœ… Real-time collaboration
  • โœ… Secure, role-based access control
  • โœ… Multi-language support
  • โœ… Progressive web app capabilities
  • โœ… Automated reporting and notifications
  • โœ… Interactive mapping
  • โœ… Enterprise-grade security
  • โœ… Open-source and self-hostable
  • โœ… Active development and support

Ready to get started? - Quick Start Guide - View Demo - Self-Host Instructions