Rural Dispatch
Ride-sharing management platform designed for rural transportation services
Project Overview
Rural Dispatch is a comprehensive ride-sharing management application built to serve rural communities where traditional ride-sharing services are unavailable. The platform enables dispatchers, case managers, and drivers to coordinate transportation for service users, featuring real-time SMS notifications and TCPA-compliant messaging.
Key Features
🔐 Role-Based Access Control
- Admin: Full system access including user management and system configuration
- Dispatcher: Coordinate rides, assign drivers, manage daily operations
- Case Manager: Request rides on behalf of clients and riders
- Driver: View assigned rides, update ride status, receive notifications
📱 Two-Way SMS Notifications
- Dual Provider Support: Twilio (primary) and Vonage (fallback) for reliability
- Real-time Updates: Automated notifications for ride confirmations, driver assignments, and ETAs
- TCPA Compliance: Built-in consent management and opt-out handling
- Conversation Tracking: Full SMS history and conversation threading
🚗 Ride Management System
- Request Creation: Easy-to-use forms for scheduling rides with pickup/dropoff details
- Driver Assignment: Match available drivers and vehicles to ride requests
- Status Tracking: Real-time ride status updates from request to completion
- Fleet Management: Track vehicles, driver availability, and scheduling
👥 User Management
- Service Users (Riders): Manage rider profiles and ride history
- Service Providers (Drivers): Driver profiles with contact info and assignments
- Vehicles: Fleet inventory with vehicle details and assignments
- Staff Accounts: Dispatcher and case manager account management
📊 System Manager Dashboard
- Riders Tab: Add, edit, and manage rider information
- Providers Tab: Manage driver profiles and assignments
- Vehicles Tab: Fleet inventory and vehicle tracking
- Dispatchers Tab: Staff account management
- Case Managers Tab: Case manager account management
Tech Stack
Frontend
- React 18 with TypeScript (strict mode)
- Vite for fast development and builds
- Tailwind CSS + shadcn/ui components
- React Hook Form with Zod validation
- React Router v6 for navigation
- Lucide Icons
Backend
- Node.js with Fastify framework
- PostgreSQL database
- Prisma ORM v7
- ESM modules
- bcryptjs for authentication
SMS & Notifications
- Twilio (primary SMS provider)
- Vonage (fallback SMS provider)
- Two-way SMS conversations
- Webhook handlers for incoming messages
Development & Deployment
- Bun for package management
- Biome for linting and formatting
- Vitest for testing
- Render/Railway deployment ready
- Shared Zod schemas between client/server
Technical Highlights
Monorepo Architecture
The project uses a monorepo structure with shared Zod validation schemas between the React frontend and Fastify backend. This ensures type safety and validation consistency across the entire application, reducing bugs and improving developer experience.
SMS System Design
The SMS notification system implements a dual-provider approach with Twilio as the primary provider and Vonage as fallback. The system handles two-way conversations, tracks message history, and implements TCPA-compliant opt-out handling. Webhook endpoints process incoming messages and route them to the appropriate handlers.
Role-Based Security
Authentication uses bcryptjs for password hashing with role-based middleware that enforces access control at both the route and component level. Each role has specific permissions that determine what data they can view and actions they can perform.
Project Timeline
Start Date: December 2025