HALCÓN
ATuPuerta: delivery de productos variados
Plataforma de delivery para comercios de cualquier rubro, no solo de comida: cuatro roles, pago con Mercado Pago y seguimiento del repartidor en vivo.

El problema
Las apps de reparto más conocidas (PedidosYa, Rappi, Glovo, Uber) cobran una comisión de entre el 15 y el 30 %, además del envío: el cliente paga más y el comercio gana menos. Y casi todas se especializan en comida.
La solución
Armamos una plataforma de delivery que no se queda con un porcentaje de cada venta: el cliente paga el precio que pone el comercio, sin recargos, y el repartidor cobra por distancia, con un monto base más un adicional por kilómetro. Y sirve para cualquier rubro, no solo comida: hoy reúne supermercados, librerías, ferreterías y tiendas de ropa.
Cada uno de los cuatro roles tiene su panel. El cliente compra, paga con Mercado Pago y sigue al repartidor en vivo en el mapa; el comercio gestiona sus productos, el stock, los precios y los pedidos; el repartidor toma pedidos y confirma cada entrega, y el administrador supervisa todo. Los avisos de cada pedido llegan como notificaciones push.
Mi parte
Lo hicimos en equipo como proyecto anual de la Práctica Profesionalizante 2 del IES Santa Fe, con Aarón Juarez en el backend y Gonzalo Silva y Jerónimo Ocampo en el frontend. Yo trabajé en el backend y después integré el frontend con la API.
- Pagos con Mercado Pago, en modo sandbox. El webhook es idempotente, porque Mercado Pago reintenta las notificaciones, y si se rechaza una compra los productos vuelven al stock.
- Seguimiento del repartidor en vivo con Socket.IO, sobre un mapa de Leaflet y OpenStreetMap.
- Rutas y geocodificación con Mapbox, migradas desde Google Maps, con la búsqueda de direcciones limitada a la zona de reparto.
- Catálogo de productos con stock y precios, y el flujo completo del repartidor.
- La integración del frontend con el backend, por fases: sesión real y login de los cuatro roles, compra, pago y seguimiento del cliente, paneles del comercio y del repartidor, perfil, notificaciones, reclamos y administración.
Cómo está hecho
- Backend: Node.js y Express con MySQL, JWT y bcryptjs para la autenticación, Web Push para las notificaciones, y helmet con express-rate-limit para la seguridad.
- Frontend: React 19 con Vite, React Router con rutas protegidas por rol, el cliente de Socket.IO, Leaflet y Oxlint.