Skip to content

cecia234/Help

Repository files navigation

Help! App - 226MI - SISTEMI INTEGRATI E MOBILI 2020

Tramite l'applicazione è possibile mandare richieste di aiuto direttamente alle forze dell'ordine (pulsante Emergenza) o ai propri contatti (precedentemente inseriti nella rubrica dell'applicazione - pulsante Informa Contatti).

Funzionalità attualmente implementate

  • Apertura chiamata alle forze dell'ordine e invio notifica di assistenza al loro client con posizione, tipo di richiesta e informazioni utente
  • Possibilità di inviare messaggi di testo, whatsapp e chiamate a uno dei contatti presenti in rubrica
  • Possibilità di far squillare il telefono nel caso non si riesca a parlare e quindi a farsi trovare
  • Possibilità di mostrare a schermo le proprie informazioni personali, in caso di arrivo dei soccorsi con paziente incosciente
  • Possibilità di specificare una lista di priorità per le modalità di contatto utenti (per ora si riflette solo nell'ordine dei pulsanti mostrati prima di effettuare l'azione)
  • Localizzazione in Italiano e Inglese

Tecnologie utilizzate

Un'architettura di tipo serverless è stata preferita all'architettura classica descritta nella documentazione di android studio.

Non sono quindi presenti un DB in locale e uno in remoto acceduto tramite web services in quanto Firebase consente il caching delle informazioni acquisite online e la conseguente persistenza dei dati anche in offline.

  • Android Studio per sviluppo generale
  • Firebase Authentication
  • Firebase Firestore per storage e sincronizzazione dati

Permessi Richiesti

  • Invio Sms
  • Accesso alla posizione

Possibili Migliorie

  • Al momento non sono presenti controlli sui campi di input, non inseriti per mancanza di tempo. All'utente è quindi richiesto di riempire tutti i campi forniti in fase di registrazione o di inserimento nuovo contatto, e in caso di errore è mostrato solamente un messaggio generico tramite Toast con la notifica dell'errore.
  • Telegram non supporta l'apertura di chat specifiche con messaggio predefinito tramite esecuzione di attività. Di conseguenza è necessaria la registrazione per l'uso delle API o l'utilizzo di un bot, non ancora implementati. Per ora il pulsante lancia un Toast con un semplice messaggio.
  • L'interfaccia grafica è molto semplice e non particolarmente coerente nello schema colori
  • Presenti troppe chiamate a Firebase per la lettura di dati o per l'aggiornamento dei record, che in uno scenario di utilizzo da parte di molti utenti porterebbe a far salire i costi del servizio.
  • Gestione delle casistiche in cui l'utente non fornisce i permessi richiesti (chiamate,sms,posizione)

Criticità riscontrate durante lo sviluppo

  • Non è stato possibile implementare il cambio nome/icona dell'applicazione dall'interno dell'app. Il comportamento non è consistente tra dispositivi diversi, ad es. sul mio telefono non funzionava, su Nexus 4 emulato cambia l'icona ma solo nel task manager. Comportamento segnalato anche da altri utenti sul web. Al momento manca una feature porprietaria di android studio e l'unico modo di cambiare icona in maniera robusta è tramite aggiornamento app.
  • Probabilmente a causa di un bug, non è stato possibile eseguire READ da una collezione radice chiamata "contacts" su Firebase. Di conseguenza i contatti sono stati memorizzati in una sottocollezione definita per ogni utente, che è risultata essere anche una soluzione più snella durante il recupero delle informazioni.
  • Non è possibile mandare messaggi Whatsapp in maniera automatica, è possibile solamente aprire la chat di un utente con un messaggio preimpostato e poi mandarlo a mano
  • Non è possibile mandare messaggi a più utenti in maniera automatica, al massimo si può definire un testo e poi all'interno di whatsapp selezionare a chi inviarlo (di conseguenza rendendo inutile la gestione dei contatti in questa App)
  • Non è possibile inviare messaggi Telegram in maniera semplice tramite Activity (spiegato sopra)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages