📖 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
- grafana
- python
Log in or sign up for Devpost to join the conversation.