🔖

Arsus App

Profesor: Omar Alvarez Xochihua

Proyecto final: Arsus

Carlos Eduardo Sánchez Torres (361075)

Carlo Alfredo Pano Flores      (362260)

Fecha: 14/05/2021

Descripción

Es una aplicación para celulares Android cuyo objetivo es ser un portafolio personal de proyectos, compartirlo con la comunidad vía open source y otras redes sociales. Al momento de ingresar a la aplicación aparecerá un apartado de noticias, tanto en video como en páginas  web. En la parte superior derecha aparecerá un botón para iniciar sesión con el cual podremos iniciar sesión por medio de una contraseña y correo electrónico propio, o bien por medio de una cuenta en Facebook y Google.

Ya dentro aparecerá un menú con todas las funciones que estarán implementadas. En el cual estará la aplicación para saber si tu credencial (INE), está todavía vigente y puedas votar. Se abrirá la cámara y tendrás que tomar una foto de tu credencial.

Todo esto estará desarrollado en Android Studio, usando un framework como lo es Flutter, es un sdk desarrollado por Google de código abierto para crear aplicaciones nativas de forma fácil, rápida y sencilla. Usaremos 2captcha, es un un sitio web para resolver captchas, se usará el servicio que ofrecen para resolver los captchas, al momento de por medio de la foto de la credencial sacar el código de identificación de la credencial y el identificador del ciudadano, la página pedirá resolver un captcha y ahí es donde ocupamos 2captcha.

Para que los 2 podamos trabajar en paralelo con la aplicación usaremos Git y Github, para que los cambios de código estén conectados entre las 2 computadoras y podremos trabajar en equipo.

Características funcionales

  1. Listado de noticias mas recientes desde una base de datos preparada de antemano desde hace 6 meses, las cuales pueden provenir de YouTube (video), newsletter (titular), NewsApi (titular), Hacker News (titular) y Twitter (tweet).
    1. Mostrarse las primeras cinco noticias más recientes.
    1. Mostrarse las siguientes cinco noticias más recientes.
    1. Dado un usuario anónimo o autenticado Cuando seleccione una noticia, mostrar la noticia desde la aplicación o redirigir a donde sea pertinente.
  1. Listado de aplicaciones ordenadas por mayor uso desde una base datos, las cuales pueden ser aplicaciones web y páginas de dart.
    1. Dado un usuario autenticado Cuando seleccione una aplicación tipo web embebible Entonces se abre la página embebida.
    1. Dado un usuario autenticado Cuando seleccione una aplicación tipo dart Entonces se ejecuta el código correspondiente.
  1. Autenticar al usuario vía correo electrónico, Facebook y Google usando Firebase.
    1. Registro e inicio de sesión automático con correo electrónico y contraseña.
    1. Registro e inicio de sesión automático con Google.
    1. Registro e inicio de sesión automático con Facebook.
    1. Cumplir con medidas de seguridad sobre el uso de token: no compartir claves privadas en repositorios ni sobre el código.
  1. Verificar en la lista nominal del INE si es una credencial vigente.
    1. Dado un usuario autenticado Cuando toma una foto a su credencial Entonces válida si puede votar y muestra un screenshot de su estado en la lista nominal. Consideraciones: romper el captcha mediante 2captcha, usar la API Visión de la nube de Google para obtener la información de la API y crear una Cloud Function usando JS y puppeteer para resolver estas tareas. Entregar el resultado en formato JSON: {screenshot: “STORAGE URL”, isValid: true}.
    1. Si la credencial es válida, entonces el usuario quiere compartir su resultado.
  1. [No prioritario] Listado de medios de contacto desde una base de datos.

Características no funcionales

Entrega de video demo el 31 de mayo.

Publicar la aplicación en Google Play el 29 de mayo.

Cloud Function con 2GB en US-West.

Comprar dominio web.

Interfaz gráfica

Interfaz

NameCreatedTags
Home
Login
INE
Data
INE
Apps


Arquitectura

Arquitectura

NameCreatedTags
Getting started
Server
Services
Views


Todas las páginas siguen el mismo patrón: Markup, Style y WidgetState.

Planeación

Planeación

Property17/05/202118/05/202119/05/202120/05/202121/05/202122/05/202123/05/202124/05/202125/05/202126/05/202127/05/202128/05/202129/05/202130/05/2021
Listado de noticias mas recientes desde una base de datos preparada de antemano desde hace 6 meses, las cuales pueden provenir de YouTube (video), newsletter (titular), NewsApi (titular), Hacker News (titular) y Twitter (tweet).
Mostrarse las primeras cinco noticias más recientes.
Mostrarse las siguientes cinco noticias más recientes.
Dado un usuario anónimo o autenticado Cuando seleccione una noticia, mostrar la noticia desde la aplicación o redirigir a donde sea pertinente.
Listado de aplicaciones ordenadas por mayor uso desde una base datos, las cuales pueden ser aplicaciones web y páginas de dart.
Dado un usuario autenticado Cuando seleccione una aplicación tipo web embebible Entonces se abre la página embebida.
Dado un usuario autenticado Cuando seleccione una aplicación tipo dart Entonces se ejecuta el código correspondiente.
Autenticar al usuario vía correo electrónico, Facebook y Google usando Firebase.
Registro e inicio de sesión automático con correo electrónico y contraseña.
Registro e inicio de sesión automático con Google.
Registro e inicio de sesión automático con Facebook.
Cumplir con medidas de seguridad sobre el uso de token: no compartir claves privadas en repositorios ni sobre el código.
Verificar en la lista nominal del INE si es una credencial vigente.
Validar INE
Convertir imagen a objeto INE (uso de Google Vision)
Raspar y parsear la información de la lista nominal del INE (2captcha y Puppeteer)
Si la credencial es válida, entonces el usuario quiere compartir su resultado en redes sociales
Si la credencial es válida, entonces el usuario quiere descargar su resultado
Si la credencial es válida, entonces el usuario quiere mandarla al clipboard.
Mostrar imagen del resultado de la lista nominal y un mensaje con respecto al mismo.
Publicar video
Subir aplicación a google play
UntitledCarlo Pano
UntitledCarlo Sanchez
Otras
Dynamic Links


  1. Centralizar blog.
  1. Mejora de desempeno.
  1. CURP.