sonnora@systems:~/products/rideshare$ cat README
RideShare — conductores publican viajes, pasajeros reservan asientos.
Una app de viajes compartidos estilo BlaBlaCar: los conductores publican viajes con ruta, horario, asientos y precio; los pasajeros buscan viajes cercanos y reservan un asiento. Una app Flutter con API en Rust, búsqueda PostGIS y mapas auto-hospedados.
// el problema
Asientos vacíos recorren la misma autopista cada día.
Viajar entre ciudades en Latinoamérica significa boletos caros de autobús o manejar en solitario — mientras miles de autos recorren los mismos corredores con asientos vacíos. Ese encuentro ocurre por grupos de WhatsApp y de boca en boca: sin horarios, sin asientos garantizados, sin precios justos.
RideShare es un marketplace con tres movimientos: publica un viaje, busca por origen y destino, reserva un asiento. El matching geoespacial encuentra viajes cerca de ambos extremos de tu ruta, y la sugerencia de precio estilo BlaBlaCar mantiene tarifas justas.
// funciones
Publica, busca, reserva
Publica un viaje
Origen, destino, hora de salida, asientos y precio por asiento. La app sugiere una tarifa justa desde la distancia y el costo operativo.
Búsqueda geoespacial
Busca por origen y destino con matching de proximidad PostGIS en ambos extremos de la ruta.
Rutas y mapa
El conductor elige entre tres rutas — recomendada, sin peajes, más corta — calculadas por un motor Valhalla auto-hospedado con datos OpenStreetMap.
Lugares reales
Autocompletado de lugares servido por un geocoder Photon auto-hospedado, potenciado con una lista local.
// bajo el capó
El stack que mueve personas
Rust con Axum en capas api a dominio a infra, persistencia rustdata sobre PostgreSQL + PostGIS.
Photon auto-hospedado para geocoding y Valhalla para ruteo sobre tiles OSM de México — sin facturas por request de mapas.
Login delegado a UserBrew con Google OAuth, desacoplado tras un trait AuthService.
Una sola imagen multi-arch — nginx sirviendo la web Flutter más la API Axum — en local, dev, QA y prod.
// conectar
¿Un corredor lleno de asientos vacíos?
Hablemos de acceso anticipado, un piloto para tu ciudad u organización, o la hoja de ruta.