SCQNotifyer

Proxecto para a xestión de incidencias en concellos

Rafael Veiga Cid

IES San Clemente (Santiago de Compostela, A Coruña)

rafael@edu.xunta.es

 

Descrición do proxecto

SCQNotifyer é un proxecto realizado desde xaneiro ata comezos de marzo de 2020, na segunda avaliación do ciclo formativo ordinario (módulo bilingüe en Inglés) Desenvolvemento de Aplicacións Web do IES San Clemente de Santiago de Compostela.

Logotipo de SCQNotifyer

 

O proxecto consiste en crear unha aplicación web e un bot de Telegram que permita enviar calquera tipo de incidencias atopadas na rúa (por exemplo, beirarrúas rotas, contedores de lixo rotos, farois sen luz, sinais rotos etc.) directamente ao concello onde nos atopemos nese intre. Esa incidencia será notificada de forma automática ás persoas do concello encargadas da súa resolución e, cando esa incidencia se resolve, notifícaselle inmediatamente á persoa que a enviou.

A aplicación web permítelles aos/ás usuarios/as realizar as seguintes tarefas:

  • Autenticación mediante Telegram
  • Xestión de perfil
  • Xestión de incidencias enviadas ao sistema
  • Alta de concellos (só para administradores)
  • Resolución de incidencias (só para os usuarios dos concellos encargados desa tarefa)
  • Visualización de mapas de incidencias
  • Listaxe de incidencias
  • Notificación a través de correo electrónico da resolución de incidencias
  • Como opción adicional, a consulta da meteoroloxía no ámbito mundial

Exemplo de incidencias enviadas ao proxecto

Mapa amosando incidencias

 

Para facer uso da aplicación SCQNotifyer, o único necesario é dispor dun móbil coa aplicación de mensaxería Telegram instalada. Telegram é unha das aplicacións de mensaxería máis rápidas e seguras do mercado. Compite directamente con WhatsApp, pero, a diferenza desta, Telegram é de código aberto (opensource), o que permite realizar aplicacións e servizos que funcionen sobre o seu sistema de mensaxería (cousa que actualmente non se pode facer de balde con WhatsApp).

Unha das cousas máis interesantes que se pode facer con Telegram é un bot. Un bot é un servizo que recibe comandos a través de Telegram: fai a solicitude a un servidor específico (empregando a nube de Telegram) e devólvelle a resposta (que devolveu o servidor específico) ao cliente. Isto permite interactuar de xeito remoto con diferentes servizos, como se estivésemos empregando un control remoto. Cun bot de Telegram pódense facer infinidade de cousas, por exemplo, xestionar a domótica da nosa casa de forma remota, obter datos de sensores remotos etc.

Polo tanto os/as usuarios/as da aplicación SCQNotifyer simplemente terán que arrancar o Telegram, abrir o chat do bot SCQNotifyer e con tres pasos sinxelos notificarán a incidencia ao concello no que se atopen nese intre.

Os 3 pasos sinxelos que se fan dende o bot e que permiten enviar a incidencia ao concello son:

1. Facer unha foto da incidencia.

2. Escribir a descrición desta.

3. Enviar a localización desta (tal e como se compartiría unha ubicación noutros sistemas de mensaxería).

O bot do proxecto permite realizar as seguintes tarefas:

- Envío de incidencias.

- Consulta de incidencias.

- Permite a alta autónoma de traballadores (persoas encargadas de resolver incidencias en cada concello).

- Notificación instantánea aos concellos das novas incidencias (por correo electrónico á persoa encargada do concello e por Telegram ao persoal - encargado da resolución da incidencia).

- Notificación instantánea da resolución de incidencias ás persoas que enviaron a incidencia.

Captura de dous bots de Telegram deste proxecto

 

A idea inicial xurdiu como unha tarefa de programación da clase e converteuse nun proxecto máis longo, que foi implementado por practicamente todo o alumnado e que ademais serviu como parte da súa avaliación.

Grupo de segundo ordinario DWCS do IES San Clemente

Obxectivos

Os obxectivos más salientables deste proxecto son:

  • Coñecer e aprender a tecnoloxía de comunicación e programación de bots en Telegram.
  • Aprender a metodoloxía de programación en contorno servidor con NodeJS.
  • Empregar librerías no lado do cliente tales como jQuery.
  • Empregar bootstrap como ferramenta de programación no lado do cliente.

Recursos empregados

Os recursos educativos incorporan unha serie de procedementos e materiais didácticos que facilitan o ensino e a aprendizaxe. A maior parte dos recursos e materiais didácticos foi obtida da fonte de documentación que temos no IES San Clemente (de acceso público) denominada Manuais e que se atopa na URL: https://manuais.iessanclemente.net

Entre os recursos educativos empregados para o proxecto podemos citar:

- Servidor VPS con Google Cloud Compute Engine

- Programación dun bot en Telegram

- Titorial de MongoDB e NodeJS

- Titorial de NodeJS e Telegram

- Titorial sobre editor Sublime Text

- Librería Telegraf para NodeJS

- Introdución a API REST

- Servizo de rexistro de dominios dinámicos

 

Descrición da actividade

A actividade dividiuse en varias fases:

1. Explicación xenérica do obxectivo do proxecto.

2. Explicación das ferramentas que se ían empregar para o desenvolvemento (moitas delas xa as empregaron na primeira avaliación do módulo, polo que se explicaron soamente as novas ferramentas).

3. Análise polo miúdo de cada unha das fases do proxecto.

4. Explicación teórica da linguaxe de programación empregada en NodeJS, así como a realización de pequenos exercicios no que se programan aspectos que serán de utilidade no proxecto final.

5. Explicación do funcionamento dos bots en Telegram e o uso da librería Telegraf para a implementación do bot do proxecto e a realización de pequenos exercicios.

6. Explicación de como se implementa unha API REST e pequenos exercicios de proba.

Alumno programando no proxecto

Avaliación

A metodoloxía baseada en proxectos organiza os contidos curriculares desde un enfoque globalizador e significativo, que relaciona os coñecementos adquiridos no centro cos da vida cotiá. A aprendizaxe prodúcese a través da participación activa do alumnado e o profesorado actúa orientando e guiando o alumnado no proceso, para que poida atopar solucións aos problemas que van xurdindo.

A avaliación dos proxectos realizouse do seguinte xeito:

- As tarefas programadas como parte da aprendizaxe das diferentes linguaxes formaron parte do proceso global de avaliación.

- A aplicación web e o bot de Telegram son os produtos finais solicitados a cada alumno/a.

- O alumnado pode revisar o traballo dos demais: a maioría deles necesitaron dos seus compañeiros/as para facer probas. Tiñan que darse de alta nos diferentes sistemas e introducir incidencias desde o móbil. Deste xeito axudáronse na detección de erros de funcionamento das diferentes aplicacións web e móbil.

- Esta metodoloxía de traballo baseada nun proxecto permite que o alumnado vaia a ritmos distintos no desenvolvemento e o labor do profesor limítase practicamente á solución de erros ou explicación de novos conceptos necesarios para a continuidade do proceso.

Conclusións

Este proxecto, que formou parte da formación da segunda avaliación, serviu para moitas cousas, á parte de ser moi gratificante para o alumnado:

- Tratouse dun exemplo moi válido como proxecto de fin de ciclo, que adoitan realizar cando están na formación en centros de traballo (FCT).

- Supuxo unha fonte de ideas inesgotables aplicables a proxectos; sobre todo o tema da integración cos bots de Telegram.

- A idea é orixinal e está pendente da integración final nunha web (que estará dispoñible para uso no ámbito nacional) e que se dará a coñecer a finais de xuño, na web do IES San Clemente.

 

 

Bibliografía: 

 

 

Recursos web:

Manuais do IES San Clemente (programación web)

NodeJS

Bootstrap

Telegraf

Servizo de rexistros dinámicos

 

 

 

Sección: