Blog de Víctor Corbacho

  • Formulario de contacto

Archive for category: Programación

  • RSS

He creado una web para encontrar la gasolina más barata de España

en Internet, Programación, Sociedad, Tecnología, TIC en España, Tráfico / por admin
19 de mayo de 2026

El precio de la gasolina en España lleva años siendo una fuente de frustración para millones de conductores. Con más de 11.000 estaciones de servicio repartidas por todo el territorio, la diferencia entre la gasolinera más cara y la más barata de una misma ciudad puede superar los 15 céntimos por litro. En un depósito de 50 litros, eso son 7,50 euros. En un año, si llenas una vez a la semana, estamos hablando de casi 400 euros de diferencia.

Llevaba tiempo pensando en hacer algo al respecto, y hace unos meses me puse a ello. El resultado es preciodelagasolina.es, una web gratuita para consultar y comparar el precio del combustible en tiempo real en cualquier gasolinera de España.

De dónde vienen los datos

Lo primero que me preguntan es si los datos son fiables. La respuesta es sí, y la razón es simple: provienen de la API oficial del Ministerio de Industria, Comercio y Turismo (MITERD), la misma fuente que alimenta las apps de navegación más populares y el propio portal del Gobierno. Las gasolineras están legalmente obligadas a notificar sus precios al Ministerio, así que lo que aparece en la web es lo que hay realmente en el surtidor.

Los precios se descargan y actualizan automáticamente varias veces al día mediante un sistema de cron. No hay intervención manual ni datos introducidos a mano.

Qué puedes hacer en la web

La web está pensada para usarse en tres situaciones concretas: antes de salir de casa, desde el coche cuando necesitas repostar, y para seguir la evolución del precio de una gasolinera concreta.

Encuentra la más barata cerca de ti

Puedes dar permiso de ubicación al navegador y la web te muestra automáticamente las gasolineras más baratas en un radio de 2, 5, 10 o 20 kilómetros. No necesitas registrarte ni instalar nada.

Filtra por provincia, municipio o comunidad autónoma

Si prefieres buscar a mano, puedes navegar por cualquiera de las 52 provincias españolas o las 17 comunidades autónomas. Cada página muestra el ranking de las gasolineras más baratas de esa zona para Gasolina 95, Gasóleo A, Gasolina 98 o GLP.

Historial de precios de los últimos 90 días

Esta es probablemente la función más útil para tomar decisiones. Cada gasolinera tiene su propia ficha con un gráfico del precio histórico de los últimos tres meses, comparado con la media de su provincia. Si el precio ha bajado esta semana o lleva meses subiendo sin parar, lo ves de un vistazo.

Comparativa entre gasolineras

¿Dudas entre dos gasolineras de tu ruta habitual? La sección Comparar te permite enfrentar dos estaciones de servicio y ver cuál ha sido más barata históricamente, no solo hoy.

Ranking por marca

¿Son más baratas las gasolineras de Repsol o las de Cepsa? ¿Y las de supermercado? La sección Por marca responde esa pregunta con datos reales.

Alertas de precio en favoritas

Puedes guardar hasta 20 gasolineras como favoritas y activar notificaciones push. Si el precio baja más de medio céntimo por litro en alguna de tus favoritas, recibes un aviso directo en el móvil sin necesidad de abrir la app.

Funciona como una app, sin pasar por la App Store

Una de las cosas que más me importaba al diseñarla es que se pudiera usar como una aplicación móvil real sin tener que publicarla en ninguna tienda. La web es una PWA (Progressive Web App): si la abres desde el navegador del móvil, te ofrece instalarla directamente en la pantalla de inicio.

Una vez instalada se comporta exactamente como una app nativa: tiene su propio icono, se abre a pantalla completa sin la barra del navegador, carga al instante aunque tengas mala cobertura porque guarda los recursos estáticos en caché, y aparece en el menú de aplicaciones del teléfono como cualquier otra.

  • En iPhone (Safari): abre la web, pulsa el botón de compartir y selecciona «Añadir a pantalla de inicio».
  • En Android (Chrome): la propia web te muestra un banner de instalación automáticamente, o puedes ir al menú del navegador y pulsar «Instalar aplicación».

Sin descargas, sin permisos extraños, sin cuentas. Ocupa menos de 1 MB.

Las notificaciones push funcionan sin tener la web abierta. Una vez que activas las alertas en tus gasolineras favoritas, el aviso te llega directamente al móvil igual que un mensaje de WhatsApp, tanto si tienes la web abierta como si no. Cuando el precio baja más de medio céntimo por litro en alguna de tus favoritas, te aparece la notificación y con un toque llegas directamente al listado de precios actualizado.

Para los que repostan siempre en la misma gasolinera de camino al trabajo, esto es especialmente útil: no tienes que acordarte de consultar nada. Si baja el precio, te enterarás solo.

Cómo está construida técnicamente

Para los que les interesa la parte técnica: la web está construida con PHP 8.4 en el backend, MongoDB como base de datos (ideal para el volumen de datos de series temporales de precios), y JavaScript vanilla sin frameworks en el frontend. Sin React, sin Vue, sin nada pesado.

El objetivo era que cargara rápido, especialmente en móvil y con conexiones lentas de carretera. En Lighthouse saca más de 95 en rendimiento. El mapa de gasolineras usa Leaflet con tiles de OpenStreetMap, que es gratuito y sin límites de peticiones.

Toda la infraestructura corre en un VPS propio. Sin dependencias de terceros para los datos, sin APIs de pago, sin nada que pueda desaparecer de un día para otro.

Por qué lo hice

Hay varias webs y apps de gasolineras en España. La mayoría comparten los mismos problemas: son lentas, tienen una interfaz pensada para hace diez años, están llenas de banners o requieren registro para funciones básicas. En el móvil, muchas son directamente inutilizables.

Quería una herramienta que hiciera una cosa bien: decirte dónde echar gasolina barata cerca de donde estás ahora mismo, en menos de tres segundos, sin fricción.

También era una excusa para hacer un proyecto con datos reales a cierta escala. Más de 11.000 gasolineras, datos que se actualizan varias veces al día, histórico de 90 días por estación… es un volumen interesante para trabajar con MongoDB y optimizar consultas geoespaciales.

Úsala y cuéntame qué falta

La web lleva pocos meses online y sigo añadiendo funciones. Si la usas y echas en falta algo, o encuentras algún error, puedes escribirme a info@preciodelagasolina.es.

Y si te resulta útil, compártela. Cuanta más gente la use, más sentido tiene seguir desarrollándola.

→ preciodelagasolina.es

ZGZagua: ¿cómo funciona? (I)

esta entrada tiene 1 Comentario/ en Cajón desastre, Programación, Software libre, Tecnología, TIC en España, Zaragoza / por admin
18 de mayo de 2011

Hoy voy a explicar el funcionamiento básico de la aplicación ZGZagua. La aplicación cuenta con tres secciones a las que se accede mediante el menú superior:

  • Home: es la página principal. En ella se muestran todos los cortes activos (del día actual y días posteriores, son todos los publicados actualmente por el Ayuntamiento).
  • Estadísticas: proporciona acceso a todos los cortes de agua que han tenido lugar en los últimos 30 días o en los últimos 7 días.
  • Cortes previstos: muestra un listado con los cortes previstos para el día actual.

Home (entrada a la aplicación)

Home corresponde a la pantalla principal de la aplicación. En el mapa se puede ver la situación de todos los cortes previstos para hoy y los próximos días, y pinchando sobre los marcadores se puede ver la información de los mismos (duración, situación, etc.).

ZGZagua - Home

Estadísticas

Esta sección consta de dos subapartados: incidencias del último mes e incidencias de la última semana. Desde aquí se pueden ver de forma visual todos los cortes de agua que han tenido lugar en Zaragoza en la última semana y en el último mes respectivamente. Además, pinchando sobre cada icono, se puede acceder a la información detallada de la incidencia (localización, duración, etc.). Gracias a esta información, se puede ver de un simple vistazo las zonas más propensas a sufrir cortes programados (aquellas donde hay mayor cantidad de iconos).

Estadisticas - ZGZagua




Cortes previstos

La sección de cortes previstos presenta la información visual detallada de todos los cortes de agua vigentes para el día actual. En ella se pueden ver estos cortes sobre un mapa y en una lista, en la que se detalla gráficamente su situación (mediante un pequeño mapa) y la descripción de la incidencia (localización, horario, etc.). Para facilitar la localización de los cortes, si se pincha sobre el mapa que cada uno tiene en la lista, se abre la ventana emergente en el mapa en el punto exacto donde se localiza.

Cortes previstos - ZGZaguaComo se puede ver, en todo momento la aplicación está enfocada a presentar de forma rápida, sencilla e inequívoca, toda la información referente a las incidencias de cortes de agua al usuario, para que este la pueda consultar en cualquier momento de una manera fácil. En la próxima entrada explicaré el funcionamiento del registro de usuarios y gestión de incidencias para notificaciones.

Un saludo.

ZGZagua, mi proyecto para AbreDatos 2011

esta entrada tiene 2 Comentarios/ en Internet, Programación, Software libre, Tecnología, Zaragoza / por admin
9 de mayo de 2011

ZGZaguaEste año he decidido participar en el desafío AbreDatos 2011. AbreDatos es un concurso de programación que consiste en desarrollar una aplicación en 48 horas, con la característica de que esta aplicación debe utilizar en su funcionamiento una o varias fuentes de datos de organismos públicos.

¿Qué es ZGZagua?

ZGZagua es una aplicación que notifica los cortes de agua previstos en la ciudad de Zaragoza a los usuarios que hayan dado de alta alertas. Esta información se obtiene a partir de los datos proporcionados por el Ayuntamiento de Zaragoza a través de geoRSS en http://www.zaragoza.es/georss/feed?id=0. Una vez obtenidos los datos de los cortes, se cotejan las direcciones con las alertas registradas por los usuarios, y si hay coincidencia, se notifica al usuario vía e-mail.

¿De dónde surge la idea?

La idea surge de una situación que nos ha pasado a la gran mayoría: una mañana te levantas, abres el grifo y no hay agua. Cuando me pasó acudí enseguida en busca de información, y encontré que el Ayuntamiento publicaba estas incidencias en su web. Si bien hay que facilitar al Ayuntamiento de Zaragoza por la publicación que hace de muchos de sus datos y la cantidad de formatos en los que se puede acceder a ellos, entrar cada día para ver si te van a cortar el agua puede ser una ardua tarea, por lo que pensé que sería mucho más sencillo que una aplicación leyese esta información por ti y, si coincidía con tu dirección, te mandase un correo de aviso. Es ahí donde surgió la idea de ZGZagua.

¿Qué funciones tiene?

Como he dicho, la principal función de la aplicación es notificar a los usuarios vía correo electrónico cuándo se producirá un corte de agua en una o varias de las alertas que previamente han configurado. Para ello, hay que registrarse en la aplicación con una dirección de correo electrónico, que será la que se utilice para las notificaciones, y configurar todas las alertas que queremos que se nos notifiquen.

Además, contacté con el ayuntamiento para ver si había alguna forma de obtener un histórico de cortes de agua. Hasta el momento no existía tal posibilidad, pero a raíz de esta petición habilitaron un servicio que proporciona un máximo de 50 incidencias entre dos fechas pasadas como parámetro. A este servicio se puede acceder a través de http://www.zaragoza.es/georref/rdf/hilo/verHistorico_Incidencias?id=0&fechainicio=10/10/2010&fechafin=10/12/2010&srsname=wgs84.

Las dificultades

Pese a tener los ingredientes para la receta, por desgracia no todo era tan fácil como leer, comparar y notificar. Las principales dificultades que encontré fueron las siguientes:

  • Las librerías más comunes para leer xml desde php no reconocen las coordenadas de geoRSS, por lo que tuve que recurrir al uso de otras librerías y la identificación de otros namespaces en el propio documento para extraer estos datos.
  • Las fechas de las incidencias no eran homogéneas, y las más antiguas tenían formatos distintos o errores que tuve que tratar prácticamente uno por uno.
  • Con los nombres de las calles pasa lo mismo: la misma calle puede tener varios formatos de nombre. Esta falta de homogeneidad, así como la no coincidencia con un callejero oficial, es el mayor problema que he encontrado a la hora de desarrollar esta aplicación, y sin duda será el que más fallos cause a largo plazo, ya que puede provocar que se notifique a usuarios que han dado de alta una alerta con un nombre similar de vía o bien que no se les notifique por figurar un nombre distinto en la incidencia creada por el ayuntamiento.
  • El tiempo: todos los informáticos sabemos que el tiempo siempre es una característica más del proyecto. En este caso el plazo de 48 horas me resultó muy corto para desarrollar toda la aplicación (era el único componente del equipo). Esto me impidió mejorar funciones como el login de usuarios (en principio debería poder hacerse desde Facebook, Twitter, etc, pero sólo me dio tiempo a implementar servicios compatibles con openID, en concreto Google y Yahoo). Además, con mayor plazo hubiese podido mejorar la función de análisis sintáctico para la identificación de coincidencias en los nombres de vías, así como crear más informes sobre datos históricos con mapas con clusters de marcadores y mejorar otros aspectos no tan importantes como las hojas de estilo, pero el plazo es el que es y ahí está el fundamento del desafío.

Como conclusión final, diré que no me arrepiento de haber participado, ha sido una experiencia interesante (a la par que un poco estresante) pero bonita. Ayer cuando apagué mi portátil apenas pasadas las 12 de la noche (hora  a la que terminaba el plazo) casi sentí hasta un poco de pena. De todas formas, hubiese preferido sin duda alguna contar con más integrantes en el equipo, a ver si el año que viene es posible.

Próximamente os contaré más sobre la aplicación.

Un saludo.

Bash scripting: apagando el monitor

esta entrada tiene 1 Comentario/ en Programación / por admin
25 de septiembre de 2009

Bueno, hace mucho que no toco temas informáticos en el blog, así que hoy voy a explicar un pequeño script bash, cuya finalidad es apagar el monitor del ordenador durante 5 segundos y volver a encenderlo.

Como verás después, el código es muy simple, y tan sólo se utilizan dos instrucciones:

  • xset spms: sirve para interactuar con el servidor X, que es el que realmente controla el estado de la pantalla.
  • sleep: duerme el proceso durante el tiempo, en segundos, pasado como parámetro.

Y con esto ya estamos preparados para ver el script:

#!//bin/bash
xset dpms force suspend
sleep 5
xset dpms force on

Tan sólo queda guardarlo en un fichero .sh y dar los pertinentes permisos para ejecutarlo (chmod +x).

En relación con la instrucción xset dpms, como puedes ver se utiliza con los siguientes parámetros:

  • force suspend: fuerza la suspensión del monitor.
  • force on: fuerza el encendido del monitor.

Aunque no sea muy técnico espero que al menos te haya resultado curioso.

Un saludo.

Comprar Calendario Zaragozano 2024

Calendario Zaragozano 2024#publi

Entradas recientes

  • Cuando un pueblo pequeño apostó por el software libre
  • He creado una web para encontrar la gasolina más barata de España
  • Lo que no se va
  • Las formas también construyen (o destruyen)
  • Cuando las instituciones señalan: reflexiones desde un pueblo pequeño

Comentarios recientes

  • Papa Manitas en Aislar las ventanas de cristal del frío de una forma sencilla
  • Estefanía Gomez en El intermitente, ese gran desconocido
  • Angel E. en Diario de un cliente de La Caixa (o cómo La Caixa trata a sus clientes)
  • Federico en Aislar las ventanas de cristal del frío de una forma sencilla
  • Juan en Aislar las ventanas de cristal del frío de una forma sencilla

Categorías

  • Android
  • Cajón desastre
  • Calendario Zaragozano
  • Cinco Villas
  • Concejal
  • Cosas curiosas
  • Huerto
  • Internet
  • Las Pedrosas
  • linux
  • Naturaleza
  • PFC
  • Preguntas estúpidas
  • Programación
  • Sociedad
  • Software libre
  • Tecnología
  • TIC en España
  • Tráfico
  • Universidad…
  • Viajar
  • Zaragoza
© Copyright - Blog de Víctor Corbacho - Wordpress Theme by Kriesi.at
  • Subscribe to our RSS Feed