📖 Sobre o Proxecto — GaliciaVixía

🔥 ¿Que é isto realmente?

Imaxina isto: son as 3 da mañá, despértaste porque o teu móbil vibra. Non é spam. É unha alerta que che di que hai risco de incendio na túa zona, agora mesmo. Tes 5 minutos para decidir se despertas aos teus pais, se collés as cousas importantes, ou se simplemente volves durmir porque é unha falsa alarma.

GaliciaVixía naceu dese medo. O medo a chegar tarde. O medo a que o lume che pille durmindo.


💡 ¿Por que fixemos isto?

Somos de Galicia. E como todos os galegos, temos unha relación... complicada... co lume. Cada verán é o mesmo:

  • 📺 As noticias falan de hectáreas queimadas
  • 😢 As redes sociais móstranse bosques en cinzas
  • 🤷 E nós preguntámonos: "¿Por que ninguén avisou antes?"

Un día, despois de ver outra noticia dun incendio que podería terse evitado, mirámonos e dixemos:

"Temos clases de programación. Temos acceso a Grafana. Temos un bot de Telegram. ¿E se...?"

E así empezou todo. Sin plan de negocio. Sin inversores. Só tres estudantes con moito café e poucas horas de sono. ☕


🛠️ ¿Como o construímos? (A historia real)

A nosa arquitectura (ou: "como intentamos non volvernos tolos")

Grafana → Webhook → Flask → Telegram → Ti
   │          │         │        │
   ▼          ▼         ▼        ▼
 "Algo      "¿Por    "¿Onde   "¿Por
 arde"      que non   está o   que non
            chega?"   token?"   durmo?"

O stack que usamos (porque non tiñamos presuposto)

Que Con que Por que
Backend Python + Flask Era o único que sabíamos usar 😅
Bot Telegram API Gratis e todo o mundo o ten
Alertas Grafana O profe recomendouno
Base de datos Un ficheiro JSON Íbamos usar PostgreSQL... algún día
Hosting O noso portátil + ngrok Orzamento: €0

📚 O que aprendemos (a forza)

1. Os espazos en branco poden destruir a túa vida

Pasamos 4 horas depurando un erro 401 de Telegram. Revisamos o token, as permisos, a API, o firewall...

¿O problema?

# ❌ Isto:
url = f"https://api.telegram.org/bot  {TOKEN}/sendMessage"
#                         ^^ dous espazos

# ✅ Debería ser:
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"

Dous espazos. Catro horas. Nunca os esqueceremos.

2. Git non perdoa

Aprendemos o que significa git push -f da maneira difícil. Alguén borró sen querer o traballo dun compañeiro. Houbo silencio na sala. Despois, abrazos e promesas de facer git pull antes de tocar nada.

3. O código perfecto non existe

O noso primeiro webhook caía con cada alerta de Grafana. ¿Porque? Porque Grafana envía máis datos dos que esperabamos. Tivemos que aprender a ser... flexibles.

# Antes (ingenuos):
zona = data["alerts"][0]["labels"]["zona"]  # 💥 KeyError

# Despois (traumatizados):
zona = data.get("alerts", [{}])[0].get("labels", {}).get("zona", "Galicia")  # ✅

4. Ninguén lee a documentación

Telegram ten unha API fantástica. Con documentación perfecta. Nós lemos... máis ou menos. A nosa taxa de erro baixou do 80% ao 20% cando finalmente abrimos os ollos e lemos as instrucións.


⚠️ Os momentos "queremos abandonar"

Momento Que pasouse Como o solucionamos
Día 1, 23:00 O bot non respondía a /start Era o token con espazos (ver arriba 😭)
Día 2, 02:00 Grafana daba erro 500 no webhook O JSON tiña un campo que non esperabamos
Día 2, 15:00 As alertas chegaban a TODOS, non só aos subscritos Esquecemos un if no filtrado
Día 3, 10:00 git push rexeitado Alguén fixo commit sen facer pull antes
Día 3, 18:00 PowerShell non deixaba activar o .venv Set-ExecutionPolicy salvounos

🎯 ¿Realmente serve para algo?

Non o sabemos. Aínda non salvamos a ninguén (que nós saibamos). Pero cando fixemos a primeira proba real e a alerta chegou ao noso Telegram en 3 segundos...

...sentimos algo.

Non era orgullo. Era máis ben como:

"Vale, isto podería axudar a alguén. E iso está ben."

Se conseguimos que unha soa persoa reciba unha alerta a tempo e poida actuar antes de que o lume chegue á súa casa... entón valeu a pena cada hora de sono perdida.


🚀 ¿Que nos falta?

Moito. Somos conscientes.

  • ❌ Non temos base de datos real (sí, seguimos con JSON)
  • ❌ Non temos HTTPS en produción (ngrok é temporal... dicimos)
  • ❌ Non temos tests (o noso testing foi "funciona no meu portátil")
  • ❌ Non temos permiso de Protección Civil (traballo en progreso)

Pero temos algo máis importante:

  • ✅ Temos ganas de melloralo
  • ✅ Temos un bot que funciona (a maioría das veces)
  • ✅ Temos código que outros poden usar e mellorar
  • ✅ Temos unha idea que naceu de preocuparnos por Galicia

🙏 Grazas (de verdade)

  • A HackUDC — Por darnos un prazo e unha escusa para non durmir
  • Aos nosos profes — Por responder emails ás 2 da mañá
  • A Telegram e Grafana — Por facer ferramentas gratis que funcionan
  • Unha mención especial ao café — Non puidemos facelo sen ti ☕

📬 ¿Queres axudar?

En serio. Este proxecto non é noso. É de calquera que queira que Galicia arda menos.

  • 🐙 Fork no GitHub: YGA-13/GaliciaVixia
  • 🐛 Atopaches un bug?: Ábreo como issue (prometemos non chorar)
  • 💡 Tes unha idea?: Mándaa. Leemos todo.
  • 🌲 Só queres dicir ola?: Tamén está ben.

"Non fixemos isto para gañar un hackathon.
Fixémolo porque alguén tiña que facelo.
E ese alguén... fomos nós."

🌲 GaliciaVixía — HackUDC 2026 🌲
Feito con ❤️, moito café e poucas horas de sono.

Built With

Share this project:

Updates