Safely App - iOS

Creado por: Arturo Espinosa Guadarrama

Objetivo Descripción Justificación técnica Credenciales de acceso Dependencias

Objetivo

Nuestro objetivo principal es crear una aplicación que permita a los usuarios salvaguardar su vida y la de sus amigos, familiares o seres cercanos mediante un botón de emergencia que permite enviar la ubicación en tiempo real sin importar el lugar en donde se encuentre asi también de poder recibir notificaciones de los contactos que se encuentren en peligro.

Actualmente la situación de seguridad se encuentra en serios problemas con una alza en números de personas desaparecidas y en muchas ocasiones la falta de comunicación con nuestros familiares o amigos puede generar incertidumbre o desinformación sobre nuestro estado o el lugar donde nos encontremos.

Más información sobre de la propuesta del proyecto

Descripción

Logotipo de Safely App

El logotipo principal de Safely trata sobre un perro doméstico con rasgos similares a las razas Akita Inu y Shiba Inu, con el que se busca transmitir a los usuarios seguridad, confianza y lealtad. Algunas caracteristica importantes de estas razas son el hecho de que generalmente son tranquilos y no son ladradores, a no ser que tenga alguna razon especifica para serlo, esto debido a que fueron originariamente criados para seguir las mismas técnicas de acecho que los gatos por lo que cuando alguna de estas razas genera un ladrido, hay que prestarle atención.

safely_logo

Ademas de ello se emplea como color principal de fondo una tonalidad morada con un degradado lineal violeta ya que lo que se busca transmitir con ello es un ambiente de tranquilidad y armonia, esto debido a que esta app fue creada con el propósito de servir como ayuda para enviar la geolocalización del dispositivo en tiempo real en caso de alguna emergencia.

En cuanto a la visualización de cada una de las pantallas se busco realizar un diseño minimalista debido a que el objetivo de la aplicación es hacer que los usuarios puedan utilizarla solamente para situaciones de emergencia y cuando esto suceda sea intuitiva y sencilla de manejar.

A continuación se muestra cada una de las pantallas que conforman a la aplicación, mencionando que por el momento solo es posible visualizar el contenido en modo claro para una correcta visualización:

Inicio de Sesión



Creación de cuenta



Mapa 2D



Mapa 3D



Notificaciones



Menu lateral



Cuenta



Contactos



Añadir



Solicitudes

Más información sobre de la propuesta visual

Más información sobre el UI Kit desarrollado e implementado

Justificación técnica

Para poder utilizar la applicación es necesario contar con una versión del sistema operativo iOS 13 en adelante debido a que se implemento para su creación algunas dependencias como version 7.3.0 de la API de Google Maps y la versión 10.4.0 de Firestore.

Un punto a destacar sobre ello es que actualmente en las estadística oficiales de Apple, hasta inicio de 2021 se contaba con iOS 13 instalado en más del 80% de los dispositivos iPhone por lo que es muy posible que esa estadística haya incrementado en los últimos meses.

Credenciales de Acceso

Para este proyecto es posible crear una cuenta simplemente proporcionando una dirección de email así también como una contraseña.

Pantalla de Sign up

En dado caso que se quiera utilizar alguna cuenta de prueba, se puede implementar las siguientes:

Dependencias

  • Google Maps: Permite agregar un map con la ubicación actual de cada usuario en tiempo real.
  • Firebase Auth: Brinda un servicio de autenticación mediante los servicios de Google Firebase, utilizando únicamente la autenticación por medio de un email y una contraseña.
  • Firebase Firestore: Brinda soporte de Backend el cual fue nesario para poder almacenar información básica de cada usuario como su email, nombre, dirección, teléfono, imagen o fotografía personal y una lista de contactos.
  • Lottie: Se implemento con el fin de poder agregar imágenes y animaciones sencillas para las pantallas de carga (aunque por el momento no fueron agregadas debido a una falta de tiempo para su desarrollo, por lo que se planea lanzar una versión con estas herramientas más adelante).
  • TinyConstraints: Para poder desplazar e interactuar en la parte del desarrollo de una forma sencilla cada una de las sub vistas creadas, empleando propiedades como Autolayout.