System Map
A visual guide to how Pathfinder’s components connect and data flows through the system.
High-Level Architecture
Component Breakdown
Client Layer
| Component | Purpose | Technology |
|---|---|---|
| Web Browser | Primary user interface | React 19, Next.js 15 |
| PWA Shell | Installable app experience | next-pwa, Service Worker |
| IndexedDB Cache | Offline program storage | Custom wrapper with IDB |
Application Layer
| Component | Purpose | Location |
|---|---|---|
| App Router | Page routing and layouts | src/app/ |
| Server Actions | Mutations and data fetching | src/app/actions/ |
| Data Access Layer | Repository pattern for DB | src/lib/dal/ |
| Components | Reusable UI elements | src/components/ |
Data Layer
| Component | Purpose | Details |
|---|---|---|
| PostgreSQL | Primary database | Supabase-hosted, RLS enabled |
| Full-Text Search | Program search | tsvector with GIN index |
| File Storage | Document uploads | Supabase Storage, signed URLs |
Data Flow: Screener to Match
Data Flow: Document Upload
Data Flow: Notification Delivery
Directory Structure
Database Schema Overview
External Service Integration
Nominatim Geocoding
OpenStreetMap-based geocoding for ZIP to coordinates conversion. Self-hosted option available for high volume.
Resend Email
Transactional email delivery for notifications, reminders, and status updates. React Email templates.
Twilio SMS
SMS notifications for time-sensitive alerts like deadline reminders and status changes.
Supabase
PostgreSQL database with Row Level Security, real-time subscriptions, and file storage.