1 00:00:00,430 --> 00:00:12,130 Buenas tardes a todos, Iván, Martín y yo, Juan Pablo Caro Peñuela, les vamos a presentar nuestro proyecto de grado, en este caso nuestro proyecto se llama Identifica. 2 00:00:14,849 --> 00:00:26,149 Lo que vamos a ver durante la presentación va a ser la introducción de lo que es Identifica, vamos a ver el análisis del sistema actual, de cuál es el problema y el por qué Identifica creemos que es una buena solución. 3 00:00:26,149 --> 00:00:29,550 y claramente la solución propuesta 4 00:00:29,550 --> 00:00:31,109 cómo funciona la aplicación 5 00:00:31,109 --> 00:00:33,109 y cómo sería la ejecución 6 00:00:33,109 --> 00:00:35,090 en ámbito general a futuro 7 00:00:35,090 --> 00:00:37,649 también vamos a hablar 8 00:00:37,649 --> 00:00:38,929 un poco del desarrollo del proyecto 9 00:00:38,929 --> 00:00:40,409 ya un poco más la parte interna 10 00:00:40,409 --> 00:00:43,329 vamos a hablar de las validaciones y la seguridad 11 00:00:43,329 --> 00:00:44,329 que tiene esta aplicación 12 00:00:44,329 --> 00:00:49,590 también tenemos una sección de desafíos 13 00:00:49,590 --> 00:00:51,369 y soluciones que es donde encontramos 14 00:00:51,369 --> 00:00:53,030 unos problemas 15 00:00:53,030 --> 00:00:55,090 al realizar este proyecto 16 00:00:55,090 --> 00:00:56,729 entonces queremos comentarlo 17 00:00:56,729 --> 00:00:59,829 y por último realizaríamos la presentación 18 00:00:59,829 --> 00:01:01,710 de la página web 19 00:01:01,710 --> 00:01:03,450 primero y después de la aplicación 20 00:01:03,450 --> 00:01:04,269 ¿vale? 21 00:01:04,969 --> 00:01:07,209 y por último pues ya algunas conclusiones 22 00:01:07,209 --> 00:01:08,689 y ya las preguntas ¿listo? 23 00:01:09,370 --> 00:01:10,930 ¿vale? ¿qué es Identifica? 24 00:01:11,890 --> 00:01:13,150 bueno, Identifica 25 00:01:13,150 --> 00:01:14,890 es una aplicación móvil diseñada 26 00:01:14,890 --> 00:01:17,469 pues para estandarizar la autenticación 27 00:01:17,469 --> 00:01:19,269 de las personas pues a nivel 28 00:01:19,269 --> 00:01:20,010 global ¿vale? 29 00:01:20,870 --> 00:01:22,549 ya que actualmente 30 00:01:22,549 --> 00:01:24,790 en el ámbito de internet 31 00:01:24,790 --> 00:01:27,950 como cada vez es un mundo más interconectado 32 00:01:27,950 --> 00:01:29,730 y que va creciendo a gran escala. 33 00:01:30,370 --> 00:01:35,390 Asimismo, todos los días se aumenta lo que es el fraude, 34 00:01:35,530 --> 00:01:37,870 las estafas, la suplantación de identidad 35 00:01:37,870 --> 00:01:41,750 y entre muchas otras cosas, ya sea para estafar a la gente, 36 00:01:41,849 --> 00:01:45,950 para robar o para sacar información, X o Y. 37 00:01:46,930 --> 00:01:51,569 En este caso, lo que falta son métodos estandarizados y seguros 38 00:01:51,569 --> 00:01:53,590 para que las personas puedan confiar 39 00:01:53,590 --> 00:01:58,730 de que no les va a pasar nada malo frente a internet, 40 00:01:58,969 --> 00:02:01,930 ya sea por correos electrónicos, por teléfonos o por redes sociales. 41 00:02:02,870 --> 00:02:05,769 El objetivo de Identifica es precisamente 42 00:02:05,769 --> 00:02:08,229 estandarizar la autenticación de las personas a nivel global, 43 00:02:09,370 --> 00:02:12,389 pero entonces de una manera muy eficiente, muy segura 44 00:02:12,389 --> 00:02:15,310 y que da confianza a los usuarios 45 00:02:15,310 --> 00:02:19,590 para que no caigan en estos fraudes o estafas. 46 00:02:19,590 --> 00:02:24,389 el análisis del sistema actual 47 00:02:24,389 --> 00:02:26,129 que son los problemas de la seguridad de internet 48 00:02:26,129 --> 00:02:30,750 como podemos ver en las redes sociales 49 00:02:30,750 --> 00:02:34,770 cada una tiene sus propios métodos de validación 50 00:02:34,770 --> 00:02:37,289 por ejemplo, Facebook o Twitter 51 00:02:37,289 --> 00:02:39,990 cada una de ellas decide cuál usuario es real 52 00:02:39,990 --> 00:02:43,509 y los verifica con un chulito azul de estos de Twitter 53 00:02:43,509 --> 00:02:45,550 o Facebook y asimismo Instagram 54 00:02:45,550 --> 00:02:48,389 pero cada una tiene un sistema propio 55 00:02:48,389 --> 00:02:51,090 entonces Instagram valida que ese usuario es real 56 00:02:51,090 --> 00:02:52,110 dentro de Instagram 57 00:02:52,110 --> 00:02:55,330 y ya está, Facebook valida que es usuario real 58 00:02:55,330 --> 00:02:56,870 dentro de Facebook, lo mismo Twitter 59 00:02:56,870 --> 00:02:59,330 y frente a los correos o a los 60 00:02:59,330 --> 00:03:01,330 teléfonos claramente tampoco hay una validación 61 00:03:01,330 --> 00:03:02,969 estandarizada de saber 62 00:03:02,969 --> 00:03:04,949 a quién le pertenece, entonces 63 00:03:04,949 --> 00:03:06,629 ahí es donde nosotros 64 00:03:06,629 --> 00:03:09,009 vimos esa necesidad 65 00:03:09,009 --> 00:03:11,430 de una aplicación que centralice 66 00:03:11,430 --> 00:03:13,090 todo eso y podamos 67 00:03:13,090 --> 00:03:14,289 centralizar 68 00:03:14,289 --> 00:03:17,289 todas las redes sociales, los correos 69 00:03:17,289 --> 00:03:19,210 los teléfonos de una 70 00:03:19,210 --> 00:03:20,870 persona mediante identifica 71 00:03:20,870 --> 00:03:22,449 que es nuestra solución. 72 00:03:24,699 --> 00:03:26,740 Esta sería la solución propuesta. 73 00:03:31,719 --> 00:03:38,139 Tenemos el problema con el usuario 74 00:03:38,139 --> 00:03:40,259 o contacta, mejor dicho, con el usuario 75 00:03:40,259 --> 00:03:42,819 por correo, por teléfono 76 00:03:42,819 --> 00:03:44,479 o por una llamada 77 00:03:44,479 --> 00:03:46,740 o por un mensaje en una red social. 78 00:03:47,300 --> 00:03:48,780 El objetivo de Identifica es 79 00:03:48,780 --> 00:03:50,539 acabar con esos estafadores, 80 00:03:51,139 --> 00:03:53,599 o sea, digamos, acabar con el anonimato en Internet, 81 00:03:54,419 --> 00:03:57,680 tener a todos los usuarios registrados correctamente 82 00:03:57,680 --> 00:03:58,879 para identificarles 83 00:03:58,879 --> 00:04:04,319 y así crear de un entorno, de un medio digital, o sea, hacer un entorno más seguro. 84 00:04:05,580 --> 00:04:07,479 ¿Qué uso de Identifica? 85 00:04:08,319 --> 00:04:12,479 Pues bueno, cuando un usuario recibe un correo electrónico, una llamada telefónica 86 00:04:12,479 --> 00:04:20,279 o un mensaje en alguna red social de tipo sospechoso, va a acudir a Identifica 87 00:04:20,279 --> 00:04:25,180 para buscar si ese correo, si esa dirección de correo electrónico, 88 00:04:25,180 --> 00:04:29,519 si esa llamada de teléfono o el mensaje por red social 89 00:04:29,519 --> 00:04:33,379 pertenece realmente a la persona que está detrás de esa cuenta 90 00:04:33,379 --> 00:04:34,819 o de ese número de teléfono. 91 00:04:35,420 --> 00:04:37,920 Entonces, así poder saber si se trata de una estafa, 92 00:04:38,339 --> 00:04:41,800 es decir, si el usuario existe realmente o no existe. 93 00:04:43,720 --> 00:04:44,639 Vale, perfecto. 94 00:04:45,160 --> 00:04:48,160 Identifica lo tenemos que ver como una red de colaboración. 95 00:04:48,920 --> 00:04:51,759 Claramente, cuando cualquier persona se registre 96 00:04:51,759 --> 00:04:52,860 en la aplicación Identifica, 97 00:04:52,860 --> 00:04:55,899 automáticamente no van a parar 98 00:04:55,899 --> 00:04:57,560 de llegarnos correos de spam 99 00:04:57,560 --> 00:04:59,560 ni van a parar de llamarnos 100 00:04:59,560 --> 00:05:01,759 o escribirnos por redes sociales 101 00:05:01,759 --> 00:05:03,639 gente falsa, obviamente eso no va a pasar 102 00:05:03,639 --> 00:05:05,819 pero lo que sí hacemos cuando nos registramos 103 00:05:05,819 --> 00:05:07,160 en Identifica es 104 00:05:07,160 --> 00:05:09,680 colaborar en la 105 00:05:09,680 --> 00:05:11,819 comunidad, así de esta forma 106 00:05:11,819 --> 00:05:13,680 todas las personas que se registren 107 00:05:13,680 --> 00:05:15,620 cada vez que se registren vamos a 108 00:05:15,620 --> 00:05:17,339 entre todos a ayudarnos a 109 00:05:17,339 --> 00:05:19,740 cada vez quitar el anonimato de Intermedia 110 00:05:19,740 --> 00:05:21,720 que haya menos fraude, porque si yo me 111 00:05:21,720 --> 00:05:23,699 registro en Identifica, cualquier persona 112 00:05:23,699 --> 00:05:25,899 de aquí a mañana puede buscar cualquier correo 113 00:05:25,899 --> 00:05:27,360 que piense que soy yo 114 00:05:27,360 --> 00:05:29,980 pero sabe que si no estoy yo registrado en Identifica 115 00:05:29,980 --> 00:05:31,759 entonces puede que sea un correo 116 00:05:31,759 --> 00:05:33,459 falso, más adelante vamos a explicar 117 00:05:33,459 --> 00:05:35,259 esta situación para 118 00:05:35,259 --> 00:05:37,660 ejemplos de casos reales, pero 119 00:05:37,660 --> 00:05:39,480 la idea principal aquí es que 120 00:05:39,480 --> 00:05:41,639 Identifica es una red 121 00:05:41,639 --> 00:05:43,439 de colaboración en una comunidad 122 00:05:43,439 --> 00:05:45,480 y así entre todos vamos a acabar con 123 00:05:45,480 --> 00:05:47,339 este tema de las estafas o claudes 124 00:05:47,339 --> 00:05:50,279 vale 125 00:05:50,279 --> 00:05:53,360 un diagrama de planificación 126 00:05:53,360 --> 00:06:05,699 de cómo vemos que sería la última semana de marzo en la que hicimos un análisis. 127 00:06:05,699 --> 00:06:18,089 La siguiente semana ya sería un diseño de la arquitectura y del diseño que queríamos que tuviera la aplicación 128 00:06:18,089 --> 00:06:24,529 para después continuar con una implementación de la base de datos y caché. 129 00:06:25,689 --> 00:06:31,649 Las tres semanas siguientes ya sería el desarrollo del backend, sería una estructura inicial 130 00:06:31,649 --> 00:06:34,610 porque luego hemos tenido que ir cambiando cosas y modificando 131 00:06:34,610 --> 00:06:36,110 las tres siguientes 132 00:06:36,110 --> 00:06:37,750 sería el desarrollo del frontend 133 00:06:37,750 --> 00:06:40,410 igual, sería una base 134 00:06:40,410 --> 00:06:42,529 y luego hemos ido modificando cosas 135 00:06:42,529 --> 00:06:44,449 para las dos semanas siguientes 136 00:06:44,449 --> 00:06:46,550 ya sería la integración 137 00:06:46,550 --> 00:06:47,889 del backend y el frontend 138 00:06:47,889 --> 00:06:50,389 y ya la semana pasada que fue la última 139 00:06:50,389 --> 00:06:52,490 ya fue la fase de pruebas 140 00:06:52,490 --> 00:06:54,529 y la puesta en marcha para ir 141 00:06:54,529 --> 00:06:56,029 perfeccionando cosas 142 00:06:56,029 --> 00:06:58,629 Vale, las tecnologías que utilizamos 143 00:06:58,629 --> 00:07:00,529 para nuestra aplicación 144 00:07:00,529 --> 00:07:02,170 fue en la base de datos 145 00:07:02,170 --> 00:07:04,230 a Mongo como una base de datos no relacional 146 00:07:04,230 --> 00:07:06,370 y a Redis para el uso del caché 147 00:07:06,370 --> 00:07:08,350 también en el backend 148 00:07:08,350 --> 00:07:10,449 utilizamos el lenguaje Java y Spring Boot 149 00:07:10,449 --> 00:07:12,110 en el frontend 150 00:07:12,110 --> 00:07:14,290 utilizamos el lenguaje Kotlin con Android 151 00:07:14,290 --> 00:07:16,589 Jetpack Compose y utilizamos 152 00:07:16,589 --> 00:07:17,990 Firebase para el tema de 153 00:07:17,990 --> 00:07:20,189 autenticación de notificaciones 154 00:07:20,189 --> 00:07:21,829 y de almacenamiento de imágenes 155 00:07:21,829 --> 00:07:24,250 y Retrofit para la comunicación 156 00:07:24,250 --> 00:07:25,910 con el backend ¿vale? también 157 00:07:25,910 --> 00:07:28,370 hicimos una 158 00:07:28,370 --> 00:07:30,149 página web y esta página web 159 00:07:30,149 --> 00:07:33,250 está en los lenguajes básicos de HTML, CSS, Javascript 160 00:07:33,250 --> 00:07:35,449 y diseñada con Bootstrap. 161 00:07:36,490 --> 00:07:38,810 Vale, entonces aquí más o menos vamos a explicar 162 00:07:38,810 --> 00:07:40,949 la arquitectura de cómo funciona la aplicación. 163 00:07:41,629 --> 00:07:44,790 Simplemente, en la arquitectura general 164 00:07:44,790 --> 00:07:46,529 tenemos al servidor Spring Boot, 165 00:07:46,649 --> 00:07:48,509 que lo que tiene dentro de sí es un modelo de datos. 166 00:07:49,050 --> 00:07:50,610 Este modelo tiene unos repositorios. 167 00:07:51,170 --> 00:07:53,889 Los repositorios se van a comunicar con la base de datos, 168 00:07:54,209 --> 00:07:55,670 pero como implementamos Redis Cache, 169 00:07:56,310 --> 00:07:57,610 entonces lo que hacemos es lo siguiente. 170 00:07:57,610 --> 00:08:00,610 cuando hacemos una petición al repositorio 171 00:08:00,610 --> 00:08:02,550 él va a preguntar 172 00:08:02,550 --> 00:08:04,329 si la base de datos ya tiene 173 00:08:04,329 --> 00:08:06,589 ese dato almacenado 174 00:08:06,589 --> 00:08:08,569 si es así, en vez de ir 175 00:08:08,569 --> 00:08:10,329 hasta la base de datos, nos lo trae 176 00:08:10,329 --> 00:08:12,449 directamente de Redis Cache porque ya lo va a tener en el 177 00:08:12,449 --> 00:08:14,129 caché y nos lo devuelve 178 00:08:14,129 --> 00:08:16,170 así disminuimos el tiempo de carga 179 00:08:16,170 --> 00:08:18,029 de las peticiones, si en tal caso 180 00:08:18,029 --> 00:08:20,290 solicitamos una petición 181 00:08:20,290 --> 00:08:22,250 que no está en el caché, entonces 182 00:08:22,250 --> 00:08:24,430 automáticamente se va a la base de datos, se carga 183 00:08:24,430 --> 00:08:26,470 el caché y así mismo devuelve el dato 184 00:08:26,470 --> 00:08:32,610 para seguir mejorando lo que es el tema de la comunicación 185 00:08:32,610 --> 00:08:35,509 y reducir los tiempos de demora en las respuestas. 186 00:08:36,210 --> 00:08:39,950 Asimismo, estos repositorios se comunican con los servicios 187 00:08:39,950 --> 00:08:43,230 y los servicios los tenemos comunicados 188 00:08:43,230 --> 00:08:44,269 con un servidor de llamadas 189 00:08:44,269 --> 00:08:47,129 porque ya nuestra aplicación para el tema de la validación 190 00:08:47,129 --> 00:08:48,590 utilizamos un servidor de llamadas 191 00:08:48,590 --> 00:08:51,190 para poder validar que la persona no es un robot. 192 00:08:52,009 --> 00:08:53,850 Y asimismo, pues ya están comunicados también 193 00:08:53,850 --> 00:08:54,690 con los controladores. 194 00:08:54,690 --> 00:08:57,950 estos controladores ya se comunican por medio de retrofit 195 00:08:57,950 --> 00:09:00,190 ya con lo que es Kotlin con Android Studio 196 00:09:00,190 --> 00:09:02,250 y ya utilizamos pues simplemente 197 00:09:02,250 --> 00:09:04,669 lo que es Firebase para el tema de autenticación 198 00:09:04,669 --> 00:09:06,870 y notificaciones para que el usuario final 199 00:09:06,870 --> 00:09:08,090 pues ya tenga toda la arquitectura 200 00:09:08,090 --> 00:09:10,409 o sea pues para que le llegue todo al usuario final 201 00:09:10,409 --> 00:09:12,669 ¿vale? esta sería como la explicación de la arquitectura 202 00:09:12,669 --> 00:09:14,870 más o menos en general sin entrar mucho a detalle 203 00:09:14,870 --> 00:09:20,210 aquí voy a explicar el tema de Redis Cache 204 00:09:20,210 --> 00:09:23,210 precisamente porque nosotros lo que hacemos es 205 00:09:23,210 --> 00:09:25,629 cuando, por ejemplo, buscamos 206 00:09:25,629 --> 00:09:26,269 un 207 00:09:26,269 --> 00:09:29,389 un objeto 208 00:09:29,389 --> 00:09:31,769 cuando solicitamos un objeto, una petición 209 00:09:31,769 --> 00:09:32,029 get 210 00:09:32,029 --> 00:09:35,210 con este cachable lo que hacemos es 211 00:09:35,210 --> 00:09:37,610 ver si está en el caché de 212 00:09:37,610 --> 00:09:38,309 Redis, ¿vale? 213 00:09:38,990 --> 00:09:41,509 Si está, lo trae, y si no, pues entonces va a ir 214 00:09:41,509 --> 00:09:43,389 a la base de datos. Pero, ¿qué pasa? 215 00:09:43,470 --> 00:09:45,490 Que cada vez que nosotros insertamos datos 216 00:09:45,490 --> 00:09:47,230 en la aplicación, cada vez que actualizamos 217 00:09:47,230 --> 00:09:49,350 o cada vez que eliminamos, este caché 218 00:09:49,350 --> 00:09:51,509 va a quedar incompleto. Entonces, en las que 219 00:09:51,509 --> 00:09:53,490 son las peticiones de insertar, actualizar 220 00:09:53,490 --> 00:09:55,129 o eliminar, lo que hacemos es 221 00:09:55,129 --> 00:09:57,509 con el caché evict, recargamos 222 00:09:57,509 --> 00:09:59,509 el caché, lo refrescamos para que vuelva 223 00:09:59,509 --> 00:10:01,509 a estar con todo 224 00:10:02,110 --> 00:10:03,490 lo último que se haya hecho 225 00:10:03,490 --> 00:10:05,610 ya sea una actualización, una inserción 226 00:10:05,610 --> 00:10:07,090 o una eliminación 227 00:10:07,090 --> 00:10:09,210 entonces de esta forma se comporta 228 00:10:09,210 --> 00:10:11,450 dentro de nuestros controladores 229 00:10:11,450 --> 00:10:13,389 dentro de nuestros servicios 230 00:10:13,389 --> 00:10:14,409 se controlan así 231 00:10:14,409 --> 00:10:17,190 el caché, para eliminar o para 232 00:10:17,190 --> 00:10:19,549 actualizar el caché, que es más o menos 233 00:10:19,549 --> 00:10:21,389 este esquema que tenemos aquí, si hay datos 234 00:10:21,389 --> 00:10:22,950 en la caché, pues entonces simplemente 235 00:10:22,950 --> 00:10:25,169 nos da la respuesta a RAIDs y si no hay datos 236 00:10:25,169 --> 00:10:27,070 lo que hacemos es consultar a la base de datos 237 00:10:27,070 --> 00:10:29,250 actualizamos la caché de RAIDs y damos 238 00:10:29,250 --> 00:10:30,649 la respuesta al usuario, vale 239 00:10:30,649 --> 00:10:33,090 aquí tenemos 240 00:10:33,090 --> 00:10:35,429 un prototipo funcional de la aplicación 241 00:10:35,429 --> 00:10:37,309 si quieren, lo tenemos para 242 00:10:37,309 --> 00:10:39,289 que lo puedan ver, es que es un poco grande y no se ve 243 00:10:39,289 --> 00:10:40,850 a detalle, pero si lo quieren 244 00:10:40,850 --> 00:10:42,289 tener un poco más cerca 245 00:10:42,289 --> 00:10:48,039 este prototipo, principalmente 246 00:10:48,039 --> 00:10:50,259 tenemos cuatro clasificaciones 247 00:10:50,259 --> 00:10:52,320 que son las pantallas de inicio, que son 248 00:10:52,320 --> 00:10:54,299 las amarillas, que son las pantallas de inicio 249 00:10:54,299 --> 00:10:56,500 de registro, tenemos las pantallas azules 250 00:10:56,500 --> 00:10:58,500 que son las del uso normal de la aplicación 251 00:10:58,500 --> 00:11:00,460 cuando un usuario ya está registrado en la aplicación 252 00:11:00,460 --> 00:11:02,360 o sea, que entra todas las 253 00:11:02,360 --> 00:11:03,679 funcionalidades de por sí 254 00:11:03,679 --> 00:11:06,460 tenemos las pantallas verdes, estas pantallas 255 00:11:06,460 --> 00:11:07,419 son las de validación 256 00:11:07,419 --> 00:11:10,019 el usuario no va a poder hacer uso de la aplicación 257 00:11:10,019 --> 00:11:11,639 hasta que no se valide 258 00:11:11,639 --> 00:11:14,659 y tenemos también lo que es la pantalla negra 259 00:11:14,659 --> 00:11:16,100 nuestra aplicación 260 00:11:16,100 --> 00:11:18,000 lo que tiene es dos accesos 261 00:11:18,000 --> 00:11:20,139 un acceso como persona registrada y un acceso 262 00:11:20,139 --> 00:11:21,860 como invitado, como anónimo 263 00:11:21,860 --> 00:11:24,139 entonces la pantalla negra lo único que tiene 264 00:11:24,139 --> 00:11:25,679 es acceder como invitado. 265 00:11:26,120 --> 00:11:26,860 ¿Qué diferencia hay? 266 00:11:27,220 --> 00:11:31,799 Cuando ingresamos a la aplicación como usuario registrado, 267 00:11:32,279 --> 00:11:35,179 tenemos la opción de, obviamente, registrar todos nuestros correos, 268 00:11:35,299 --> 00:11:36,879 nuestras redes sociales, nuestros teléfonos 269 00:11:36,879 --> 00:11:40,340 y, asimismo, hacer consultas en nuestra base de datos de Identifica. 270 00:11:41,019 --> 00:11:42,759 Pero si accedemos por medio del anónimo, 271 00:11:42,879 --> 00:11:46,200 lo único que vamos a tener es el acceso a las búsquedas. 272 00:11:46,200 --> 00:11:47,500 No vamos a tener nada del perfil, 273 00:11:47,620 --> 00:11:50,840 ni vamos a poder registrar correos ni teléfonos a nuestro nombre. 274 00:11:50,940 --> 00:11:52,100 Simplemente es para hacer búsquedas. 275 00:11:52,100 --> 00:11:57,360 De pronto yo quiero buscar un correo a ver si ese correo está registrado a nombre de alguna persona o no, ¿vale? 276 00:11:57,820 --> 00:12:05,279 La acción está diseñada para la acción en español, dependiendo de... 277 00:12:10,330 --> 00:12:15,669 Vale, antes de continuar, todo esto que hemos hablado y así mismo como en la memoria, 278 00:12:16,250 --> 00:12:20,509 también está el acceso al código del proyecto, que bien pueden acceder tanto al backend como al frontend. 279 00:12:21,409 --> 00:12:25,450 Ahí está también bien a detalle cualquier cosa, por si hay alguna duda o algo. 280 00:12:26,049 --> 00:12:28,129 Pero bueno, solo era para detallar ese punto, ¿vale? 281 00:12:28,129 --> 00:12:31,129 vale, validación y seguridad 282 00:12:31,129 --> 00:12:32,610 vale, entonces aquí la pregunta es 283 00:12:32,610 --> 00:12:34,490 ¿cómo logra identifica ese objetivo de 284 00:12:34,490 --> 00:12:36,549 validar a las personas? entonces 285 00:12:36,549 --> 00:12:38,590 la idea es que identifica, establezca 286 00:12:38,590 --> 00:12:39,929 un proceso pues seguro y confiable 287 00:12:39,929 --> 00:12:42,730 para saber que una persona es quien dice ser 288 00:12:42,730 --> 00:12:44,049 y que no es un robot, vale 289 00:12:44,049 --> 00:12:46,490 entonces, tenemos dos validaciones, la validación 290 00:12:46,490 --> 00:12:48,669 número uno es, ¿cómo sabemos que no es un robot? 291 00:12:48,929 --> 00:12:50,450 pues entonces lo hacemos por medio de la 292 00:12:50,450 --> 00:12:52,909 de los sentidos humanos 293 00:12:52,909 --> 00:12:54,350 de los cinco sentidos, por ejemplo 294 00:12:54,350 --> 00:12:56,090 en este caso utilizamos lo que es el oído 295 00:12:56,090 --> 00:12:57,970 y el razonamiento, ya que 296 00:12:57,970 --> 00:13:00,049 en la validación 1 lo que hacemos es una llamada por 297 00:13:00,049 --> 00:13:01,970 Whatsapp, esta llamada dentro 298 00:13:01,970 --> 00:13:04,149 de sí tiene un reto matemático 299 00:13:04,149 --> 00:13:05,929 aleatorio, nosotros en nuestra clase 300 00:13:05,929 --> 00:13:08,009 de identifica, en nuestras clases de 301 00:13:08,009 --> 00:13:10,210 modelos, tenemos una clase 302 00:13:10,210 --> 00:13:12,070 que es de retos matemáticos 303 00:13:12,070 --> 00:13:13,970 y lo que hacen es generar 304 00:13:13,970 --> 00:13:16,049 retos matemáticos aleatorios, cada vez 305 00:13:16,049 --> 00:13:18,230 que se lanza una llamada se genera un reto matemático 306 00:13:18,230 --> 00:13:20,149 aleatorio, le llaman 307 00:13:20,149 --> 00:13:21,990 por Whatsapp, la persona debe contestar 308 00:13:21,990 --> 00:13:23,830 dice algo, lo que sea 309 00:13:23,830 --> 00:13:26,350 le dice, bueno, dime cuánto es 310 00:13:26,350 --> 00:13:28,509 la suma de 5 más 5 311 00:13:28,509 --> 00:13:30,389 o cuánto es 5 por 2, x 312 00:13:30,389 --> 00:13:32,490 y debe contestar la respuesta 313 00:13:32,490 --> 00:13:34,289 en la aplicación, si contesta la respuesta 314 00:13:34,289 --> 00:13:36,009 correcta pasa a la validación 2 315 00:13:36,009 --> 00:13:38,289 claramente si la contesta bien es porque es una 316 00:13:38,289 --> 00:13:40,370 persona, ya que tiene que utilizar 317 00:13:40,370 --> 00:13:42,370 el tema del oído, del razonamiento 318 00:13:42,370 --> 00:13:44,309 del contestar, evitamos ahí 319 00:13:44,309 --> 00:13:46,149 ya cortamos como el que se registre 320 00:13:46,149 --> 00:13:48,129 no sea un robot, y en la validación 2 321 00:13:48,129 --> 00:13:50,169 lo que hacemos es tomar una captura 322 00:13:50,169 --> 00:13:52,049 del rostro para que sea 323 00:13:52,049 --> 00:13:54,529 saber que por si es una persona 324 00:13:54,529 --> 00:13:57,009 nosotros a principio 325 00:13:57,009 --> 00:13:58,470 queríamos poder esa captura 326 00:13:58,470 --> 00:14:01,029 después compararla con otra captura 327 00:14:01,029 --> 00:14:02,889 de un documento de identidad y saber si 328 00:14:02,889 --> 00:14:04,730 esa persona que está ahí en esa foto 329 00:14:04,730 --> 00:14:06,990 si existe y si está validada y no se trata 330 00:14:06,990 --> 00:14:08,990 de una suplantación, lastimosamente 331 00:14:08,990 --> 00:14:10,490 por los tiempos que hemos tenido 332 00:14:10,490 --> 00:14:12,610 no hemos podido llegar a implementar la parte 333 00:14:12,610 --> 00:14:14,669 del DNI de validar 334 00:14:14,669 --> 00:14:16,710 si esa persona existe, por el momento solo tenemos 335 00:14:16,710 --> 00:14:18,289 la parte de la validación del rostro 336 00:14:18,289 --> 00:14:19,769 pues para que sea una persona 337 00:14:19,769 --> 00:14:21,389 ¿vale? 338 00:14:30,919 --> 00:14:39,960 usuarios para que cuando se haga una petición a buscar un usuario nos devuelva solo los datos que 339 00:14:39,960 --> 00:14:49,460 necesitamos por ejemplo tenemos la clase de usuario con el teléfono al final es bastante 340 00:14:49,460 --> 00:14:56,639 personal el email o datos del perfil pues hemos creado la clase de usuario de teo con solamente 341 00:14:56,639 --> 00:14:58,379 los datos que queremos mostrar 342 00:14:58,379 --> 00:15:00,860 cuando se busque al usuario. 343 00:15:03,340 --> 00:15:04,340 Vale, los desafíos 344 00:15:04,340 --> 00:15:06,440 y soluciones. Nosotros tuvimos 345 00:15:06,440 --> 00:15:07,539 un desafío cuando... 346 00:15:07,539 --> 00:15:10,000 Nosotros tuvimos un desafío cuando 347 00:15:10,000 --> 00:15:12,360 empezamos la aplicación, cuando queríamos 348 00:15:12,360 --> 00:15:14,159 poner el servidor en marcha y es que no tenemos 349 00:15:14,159 --> 00:15:15,460 acceso a la cuenta de AWS 350 00:15:15,460 --> 00:15:18,240 y por ese motivo no pudimos subir el servidor 351 00:15:18,240 --> 00:15:20,240 a la nube, pero lo que encontramos fue la solución 352 00:15:20,240 --> 00:15:22,200 de crear una URL pública desde 353 00:15:22,200 --> 00:15:24,279 Visual Studio Code que apunta a mi 354 00:15:24,279 --> 00:15:26,659 servidor local. En este caso, la aplicación 355 00:15:26,659 --> 00:15:27,659 que está ahorita en línea 356 00:15:27,659 --> 00:15:31,399 y, asimismo, la página web está apuntando a mi dirección local 357 00:15:31,399 --> 00:15:33,480 desde una URL pública de Visual Studio Code 358 00:15:33,480 --> 00:15:38,080 por medio de un túnel de acceso que se llama Visual Studio Code, ¿vale? 359 00:15:38,419 --> 00:15:40,580 Entonces, así pudimos solucionar ese desafío. 360 00:15:42,460 --> 00:15:44,360 Vale, aquí vamos a presentar la página web. 361 00:15:53,070 --> 00:15:56,629 ...que tiene como administrador ZPanel. 362 00:15:57,929 --> 00:16:01,889 ZPanel se puede administrar la página web, los correos electrónicos, 363 00:16:01,889 --> 00:16:06,730 aplicaciones también 364 00:16:06,730 --> 00:16:08,250 paneles 365 00:16:08,250 --> 00:16:10,330 datos de estadísticas 366 00:16:10,330 --> 00:16:12,330 también, entonces lo que hacemos 367 00:16:12,330 --> 00:16:14,269 es subir el archivo que 368 00:16:14,269 --> 00:16:14,669 tenemos 369 00:16:14,669 --> 00:16:18,409 del archivo 370 00:16:18,409 --> 00:16:19,509 con la página web 371 00:16:19,509 --> 00:16:21,909 a cPanel, es muy importante 372 00:16:21,909 --> 00:16:23,870 tener el index.html 373 00:16:23,870 --> 00:16:25,590 para que la página pueda 374 00:16:25,590 --> 00:16:27,730 funcionar 375 00:16:27,730 --> 00:16:29,750 os muestro 376 00:16:29,750 --> 00:16:31,350 la página rápidamente 377 00:16:31,350 --> 00:16:46,720 este sería el ingres 378 00:16:46,720 --> 00:16:49,200 que daría la bienvenida a la página 379 00:16:49,200 --> 00:16:50,799 si subes Juan Pablo 380 00:16:50,799 --> 00:16:53,539 arriba a la 381 00:16:53,539 --> 00:16:53,980 derecha 382 00:16:53,980 --> 00:16:57,120 tenemos un botón 383 00:16:57,120 --> 00:16:59,480 que sería para descargar la APK 384 00:16:59,480 --> 00:17:00,700 en un código QR 385 00:17:00,700 --> 00:17:02,779 desde aquí con el móvil se podría descargar 386 00:17:02,779 --> 00:17:04,339 la APK directamente 387 00:17:04,339 --> 00:17:06,319 se identifica, bueno pues 388 00:17:06,319 --> 00:17:09,279 comenta un poco el funcionamiento 389 00:17:09,279 --> 00:17:11,180 de la aplicación 390 00:17:11,180 --> 00:17:13,140 ¿qué te gustaría 391 00:17:13,140 --> 00:17:14,940 a buscar, estas tres páginas 392 00:17:14,940 --> 00:17:17,200 podemos buscar a un usuario por teléfono, por email 393 00:17:17,200 --> 00:17:19,480 o por red social, si buscamos a un teléfono 394 00:17:19,480 --> 00:17:20,700 por email 395 00:17:20,700 --> 00:17:22,880 poniendo prueba 396 00:17:22,880 --> 00:17:24,640 roberidentifica.com por ejemplo 397 00:17:24,640 --> 00:17:27,240 este es un usuario que está registrado en nuestra base de datos 398 00:17:27,240 --> 00:17:29,200 al buscarlo, nos va a dar 399 00:17:29,200 --> 00:17:31,000 nos tiene que decir si el usuario 400 00:17:31,000 --> 00:17:32,619 existe o no, en este caso nos dice bueno 401 00:17:32,619 --> 00:17:35,099 este correo le 402 00:17:35,099 --> 00:17:36,400 pertenece al usuario X 403 00:17:36,400 --> 00:17:38,559 y con el identificador 404 00:17:38,559 --> 00:17:41,000 y es un número que cada persona tiene único para 405 00:17:41,000 --> 00:17:42,460 identificar a las personas 406 00:17:42,460 --> 00:17:58,200 bueno aquí hemos añadido una API externa que es del tiempo en el que hemos puesto las diferentes ciudades españolas 407 00:17:58,200 --> 00:18:02,200 y el tiempo que se va actualizando cada día 408 00:18:02,200 --> 00:18:06,000 en el javascript las llamadas las hacemos con un fetch 409 00:18:06,000 --> 00:18:07,700 a la API 410 00:18:07,700 --> 00:18:14,690 aquí hemos añadido, bueno para que veáis 411 00:18:14,690 --> 00:18:15,869 como va cambiando 412 00:18:15,869 --> 00:18:18,509 esta parte 413 00:18:18,509 --> 00:18:20,910 todos los días, hemos puesto 414 00:18:20,910 --> 00:18:23,049 datos del 10 de junio, las temperaturas 415 00:18:23,049 --> 00:18:24,269 del 14 de junio 416 00:18:24,269 --> 00:18:26,990 y que también se actualiza el mismo día 417 00:18:26,990 --> 00:18:28,390 el lunes a las 10 418 00:18:28,390 --> 00:18:31,069 tenía estos valores y luego con la tarde 419 00:18:31,069 --> 00:18:32,190 a las 6 y cuartos 420 00:18:32,190 --> 00:18:34,549 cambió la temperatura 421 00:18:34,549 --> 00:18:36,650 es decir que se va actualizando 422 00:18:36,650 --> 00:18:37,890 vale 423 00:18:37,890 --> 00:18:42,160 vale, ahora vamos a hacer la presentación 424 00:18:42,160 --> 00:18:43,259 de la aplicación, vale 425 00:18:43,259 --> 00:18:46,079 para presentar la aplicación, ustedes pueden 426 00:18:46,079 --> 00:18:47,859 no, ahí estoy, ustedes pueden 427 00:18:47,859 --> 00:18:50,359 entrar a la página web, descargarla por el QR 428 00:18:50,359 --> 00:18:52,000 o también escaneando este QR 429 00:18:52,000 --> 00:18:54,299 directamente, vale, voy a compartir la pantalla 430 00:18:54,299 --> 00:18:56,240 de mi móvil, para que veamos 431 00:18:56,240 --> 00:19:05,089 la aplicación, vale 432 00:19:05,089 --> 00:19:07,390 este es mi móvil, entonces 433 00:19:07,390 --> 00:19:09,250 yo ya tengo 434 00:19:09,250 --> 00:19:11,250 la aplicación descargada, vale, la tengo instalada 435 00:19:11,250 --> 00:19:13,349 entonces al yo abrirla, tenemos lo que 436 00:19:13,349 --> 00:19:14,509 es la pantalla de acceso 437 00:19:14,509 --> 00:19:16,849 como les comentaba, podemos ingresar 438 00:19:16,849 --> 00:19:18,609 por el login normal registro identifica 439 00:19:18,609 --> 00:19:20,089 podemos ingresar por medio de Google 440 00:19:20,089 --> 00:19:22,130 o también podemos ingresar como invitados 441 00:19:22,130 --> 00:19:23,769 en este caso 442 00:19:23,769 --> 00:19:25,809 voy a ingresar directamente 443 00:19:25,809 --> 00:19:27,069 con Google 444 00:19:27,069 --> 00:19:29,069 si yo ingreso con Google 445 00:19:29,069 --> 00:19:31,150 lo que estamos haciendo aquí es 446 00:19:31,150 --> 00:19:32,210 directamente 447 00:19:32,210 --> 00:19:36,069 selecciono mi cuenta y lo que hacemos es 448 00:19:36,069 --> 00:19:37,769 recoger los datos que tiene Google 449 00:19:37,769 --> 00:19:39,869 en su base de datos y pasarlos a nuestra base 450 00:19:39,869 --> 00:19:41,970 de datos, entonces apenas ingreso 451 00:19:41,970 --> 00:19:43,450 como es la primera vez que ingreso me dice 452 00:19:43,450 --> 00:19:45,789 no tengo todavía el registro 453 00:19:45,789 --> 00:19:48,410 completado, las validaciones, ¿vale? 454 00:19:48,690 --> 00:19:50,289 Entonces me explica un poco que vamos a hacer 455 00:19:50,289 --> 00:19:51,910 dos procesos de validaciones para poder 456 00:19:51,910 --> 00:19:53,809 hacer uso de la aplicación normal. 457 00:19:54,490 --> 00:19:56,410 Empiezo las validaciones, entonces me dice 458 00:19:56,410 --> 00:19:58,549 registro un número de teléfono. Al yo registrarme 459 00:19:58,549 --> 00:19:59,670 con Google, no pude, 460 00:20:00,309 --> 00:20:02,309 no tiene mi número de teléfono, por lo tanto 461 00:20:02,309 --> 00:20:03,809 voy a 462 00:20:03,809 --> 00:20:05,970 insertar el número de teléfono. 463 00:20:06,490 --> 00:20:11,339 Un momento. Necesitamos 464 00:20:11,339 --> 00:20:13,400 el número de teléfono que sea de WhatsApp, ya que la llamada 465 00:20:13,400 --> 00:20:14,980 que va a recibir el usuario es vía WhatsApp. 466 00:20:14,980 --> 00:20:17,700 ¿vale? entonces inserto mi número de teléfono 467 00:20:17,700 --> 00:20:19,700 ¿vale? dice que el número 468 00:20:19,700 --> 00:20:21,599 de teléfono fue insertado correctamente, perdón si está 469 00:20:21,599 --> 00:20:23,319 en inglés, sino que el móvil está en inglés, pero bueno 470 00:20:23,319 --> 00:20:25,660 la validación 1, entonces me dicen 471 00:20:25,660 --> 00:20:27,700 listo, para este proceso te vamos a llamar con un reto 472 00:20:27,700 --> 00:20:29,559 matemático, entonces debes contestar 473 00:20:29,559 --> 00:20:31,319 la respuesta, vamos a empezar la validación 474 00:20:31,319 --> 00:20:33,700 y me dice listo 475 00:20:33,700 --> 00:20:35,680 te llamarán pronto, entonces yo acá tengo 476 00:20:35,680 --> 00:20:36,900 mi móvil 477 00:20:36,900 --> 00:20:42,539 a ver si no nos hace quedar mal 478 00:20:42,539 --> 00:20:45,769 ¿me están llamando? 479 00:20:47,990 --> 00:20:48,349 ¿contesto? 480 00:20:50,569 --> 00:20:54,369 ¿aló? ¿aló? 481 00:20:54,390 --> 00:20:55,170 se demora un poco 482 00:20:55,170 --> 00:21:09,349 vale, en este caso 483 00:21:09,349 --> 00:21:11,930 yo soy un usuario que me equivoqué y pongo 3 484 00:21:11,930 --> 00:21:13,970 no pongo el resultado correcto, si yo le doy 485 00:21:13,970 --> 00:21:16,170 a validar respuesta, me dice que la respuesta es inválida 486 00:21:16,170 --> 00:21:17,710 y tiene que volver a repetir el proceso 487 00:21:17,710 --> 00:21:19,190 entonces volvemos a hacer la validación 488 00:21:19,190 --> 00:21:21,630 en este caso me van a volver a llamar 489 00:21:21,630 --> 00:21:31,920 y la idea es contestar de forma correcta 490 00:21:31,920 --> 00:21:32,180 vale 491 00:21:32,180 --> 00:21:54,589 9 más 4 492 00:21:54,589 --> 00:21:56,549 esta ya es distinta, entonces 9 más 4 493 00:21:56,549 --> 00:21:57,369 ya sería 13 494 00:21:57,369 --> 00:22:00,369 vamos a ver, validamos la respuesta 495 00:22:00,369 --> 00:22:02,609 entonces nos va a decir que la validación es exitosa 496 00:22:02,609 --> 00:22:04,690 si el usuario se demora más de 2 minutos en contestar 497 00:22:04,690 --> 00:22:06,529 la respuesta, el reto también se cancela 498 00:22:06,529 --> 00:22:07,549 porque el reto matemático 499 00:22:07,549 --> 00:22:10,869 detrás tiene un tiempo de validación 500 00:22:10,869 --> 00:22:13,109 de dos minutos, entonces si pasa también los dos minutos 501 00:22:13,109 --> 00:22:14,990 y no ha contestado bien, y así 502 00:22:14,990 --> 00:22:17,029 conteste bien, después de pasar dos minutos 503 00:22:17,029 --> 00:22:18,650 se genera otra vez otro reto matemático 504 00:22:18,650 --> 00:22:20,930 seguimos con la validación dos, para la validación 505 00:22:20,930 --> 00:22:23,009 dos tenemos lo que es la captura del rostro 506 00:22:23,009 --> 00:22:24,029 entonces 507 00:22:24,029 --> 00:22:26,750 la idea es capturar lo que es 508 00:22:26,750 --> 00:22:28,630 la cara del rostro 509 00:22:28,630 --> 00:22:30,970 y posteriormente la idea era poder 510 00:22:30,970 --> 00:22:32,950 validar este rostro con el de 511 00:22:32,950 --> 00:22:33,950 un documento de identidad 512 00:22:33,950 --> 00:22:36,990 por temas de tiempo no hemos podido lograr 513 00:22:36,990 --> 00:22:39,089 esa última validación, por lo tanto simplemente 514 00:22:39,089 --> 00:22:41,609 con enviar un rostro a la aplicación 515 00:22:41,609 --> 00:22:42,750 ya nos da como válidos 516 00:22:42,750 --> 00:22:45,670 y podemos ya hacer uso de la aplicación 517 00:22:45,670 --> 00:22:47,529 que se identifica, dentro de sí tiene 518 00:22:47,529 --> 00:22:49,309 para poder buscar por correos, por ejemplo 519 00:22:49,309 --> 00:22:51,329 si yo busco mi correo, que es el 520 00:22:51,329 --> 00:22:52,690 con el que me acabé de registrar 521 00:22:52,690 --> 00:22:55,289 entonces lo busco y me dice, vale, este 522 00:22:55,289 --> 00:22:56,970 correo le pertenece al usuario Juan Pablo Caro 523 00:22:56,970 --> 00:22:59,210 con el identificador 9227 524 00:22:59,210 --> 00:23:00,230 que es único para siempre 525 00:23:00,230 --> 00:23:03,009 pero, ¿qué pasa? 526 00:23:03,490 --> 00:23:05,369 las personas solo van a aparecer 527 00:23:05,369 --> 00:23:06,849 en las búsquedas cuando están validadas 528 00:23:06,849 --> 00:23:08,730 porque yo me puedo registrar pero no me 529 00:23:08,730 --> 00:23:10,769 valido, ese correo y esos datos 530 00:23:10,769 --> 00:23:12,769 de esas personas no van a aparecer, hasta que las personas 531 00:23:12,769 --> 00:23:14,690 no estén validadas, no podemos dar fe 532 00:23:14,690 --> 00:23:16,569 de que es una persona real 533 00:23:16,569 --> 00:23:18,609 ¿vale? en este caso aquí accedemos al 534 00:23:18,609 --> 00:23:19,849 perfil 535 00:23:19,849 --> 00:23:22,529 pero para el perfil aquí tenemos 536 00:23:22,529 --> 00:23:24,529 ya para, se pueden cambiar foto de 537 00:23:24,529 --> 00:23:25,329 perfil 538 00:23:25,329 --> 00:23:28,589 aquí se 539 00:23:28,589 --> 00:23:30,670 cambia la foto de perfil y también 540 00:23:30,670 --> 00:23:32,609 automáticamente y también se pueden 541 00:23:32,609 --> 00:23:34,430 editar los datos del perfil y 542 00:23:34,430 --> 00:23:35,589 vale 543 00:23:35,589 --> 00:23:47,890 así mismo todo está interconectado 544 00:23:47,890 --> 00:23:49,109 si ahorita mismo en la página web 545 00:23:49,109 --> 00:23:51,289 si yo elimino un correo mío propio 546 00:23:51,289 --> 00:23:53,650 en la página web también me van a decir que ese correo no me 547 00:23:53,650 --> 00:23:59,619 pertenece, aquí agrego 548 00:23:59,619 --> 00:24:00,920 las redes sociales por ejemplo 549 00:24:00,920 --> 00:24:03,279 aquí la idea es pegar el link de acceso a Facebook 550 00:24:03,279 --> 00:24:05,779 eso es para que se hagan una idea 551 00:24:05,779 --> 00:24:07,599 de la red social que también es lo más importante 552 00:24:07,599 --> 00:24:12,940 Y bueno, digamos que la aplicación 553 00:24:12,940 --> 00:24:13,640 como tal 554 00:24:13,640 --> 00:24:16,180 Sí, sí, solo es para 555 00:24:16,180 --> 00:24:30,720 Vale, pues ya estaría 556 00:24:30,720 --> 00:24:32,700 ¿Quedarían la parte de las 557 00:24:32,700 --> 00:24:34,000 conclusiones o preguntas? 558 00:24:35,240 --> 00:24:36,740 Bueno, aquí tenemos un ejemplo 559 00:24:36,740 --> 00:24:38,480 de los casos reales 560 00:24:38,480 --> 00:24:39,819 ya ya 561 00:24:39,819 --> 00:24:41,420 es que 562 00:24:41,420 --> 00:24:44,259 perdón, perdón 563 00:24:44,259 --> 00:24:45,880 ya está, ya está 564 00:24:45,880 --> 00:24:47,759 sí, sí, lo quito 565 00:24:47,759 --> 00:24:55,660 a ver, a nivel presentación 566 00:24:55,660 --> 00:24:56,740 no la habéis preparado 567 00:24:56,740 --> 00:24:59,299 está, has hablado 568 00:24:59,299 --> 00:25:00,619 mucho más Juan Pablo 569 00:25:00,619 --> 00:25:04,369 y eso no, vale 570 00:25:04,369 --> 00:25:06,250 a nivel de tiempo, pues nada 571 00:25:06,250 --> 00:25:06,849 que decir 572 00:25:06,849 --> 00:25:10,049 sí, es mucho contenido 573 00:25:10,049 --> 00:25:11,410 de por sí, nada que decir 574 00:25:11,410 --> 00:25:13,029 vale 575 00:25:13,029 --> 00:25:15,890 a nivel de la aplicación 576 00:25:15,890 --> 00:25:19,009 decís que 577 00:25:19,009 --> 00:25:22,390 registráis a todos los estafadores 578 00:25:22,390 --> 00:25:23,250 no 579 00:25:23,250 --> 00:25:25,789 ¿cómo los identificáis? 580 00:25:26,430 --> 00:25:27,589 no, precisamente 581 00:25:27,589 --> 00:25:29,730 bueno, contestad tú tranquilo 582 00:25:29,730 --> 00:25:32,069 la idea es que cada usuario, cada persona 583 00:25:32,069 --> 00:25:33,349 se registre con sus datos 584 00:25:33,349 --> 00:25:36,089 para si en un futuro 585 00:25:36,089 --> 00:25:38,130 alguien se hace pasar por ti 586 00:25:38,130 --> 00:25:40,230 tiene que cambiar 587 00:25:40,230 --> 00:25:41,990 algo tu correo 588 00:25:41,990 --> 00:25:44,369 entonces si lo buscas vas a decir 589 00:25:44,369 --> 00:25:45,390 ah no, este no es Mario 590 00:25:45,390 --> 00:25:48,250 porque tú ya tienes tu email registrado 591 00:25:48,250 --> 00:25:49,710 no sé si me explico 592 00:25:49,710 --> 00:25:52,349 entonces si cambian alguna letra 593 00:25:52,349 --> 00:25:53,890 de tu email 594 00:25:53,890 --> 00:25:55,809 el usuario puede saber 595 00:25:55,809 --> 00:25:57,970 que no eres tú y que le pueden estar 596 00:25:57,970 --> 00:25:59,509 vale y entonces 597 00:25:59,509 --> 00:26:00,309 si queréis 598 00:26:00,309 --> 00:26:05,690 hacer una red de usuarios 599 00:26:05,690 --> 00:26:06,789 para que detecten 600 00:26:06,789 --> 00:26:10,829 que haya una cierta trazabilidad 601 00:26:10,829 --> 00:26:15,799 ¿y eso con blockchain se podría hacer? 602 00:26:16,220 --> 00:26:17,400 Sí, precisamente 603 00:26:17,400 --> 00:26:19,420 esa es la conclusión de potencial 604 00:26:19,420 --> 00:26:21,059 de escalabilidad 605 00:26:21,059 --> 00:26:23,680 ahorita tenemos una arquitectura modular que es escalable 606 00:26:23,680 --> 00:26:25,279 pues si llega a crecer la red, pero 607 00:26:25,279 --> 00:26:27,460 la pregunta es, los usuarios van a confiar 608 00:26:27,460 --> 00:26:29,519 en Identifica cuando nosotros podemos 609 00:26:29,519 --> 00:26:31,400 tener acceso a los datos que la gente se registra 610 00:26:31,400 --> 00:26:32,960 la idea es poder 611 00:26:32,960 --> 00:26:34,980 generar un sistema descentralizado 612 00:26:34,980 --> 00:26:37,279 de esta forma, obviamente ya 613 00:26:37,279 --> 00:26:39,460 los datos van a estar protegidos y nadie va a 614 00:26:39,460 --> 00:26:40,920 tener acceso a esos datos 615 00:26:40,920 --> 00:26:42,119 ¿con blockchain sí? 616 00:26:42,460 --> 00:26:44,240 correcto, con el blockchain, pero 617 00:26:44,240 --> 00:26:46,019 ya es un tema que obviamente 618 00:26:46,019 --> 00:26:48,519 nosotros lo vemos más a futuro 619 00:26:48,519 --> 00:26:50,680 pero no lo aplicamos ahorita mismo 620 00:26:50,680 --> 00:26:51,200 claramente 621 00:26:51,200 --> 00:26:55,789 ¿Luego habéis usado Bootstrap CSS? 622 00:26:57,789 --> 00:26:58,250 Eso es para 623 00:26:58,250 --> 00:27:00,390 la página web que fue un extra, nuestro potencial 624 00:27:00,390 --> 00:27:01,069 es la aplicación 625 00:27:01,069 --> 00:27:02,329 ¿Habéis usado las dos? 626 00:27:04,559 --> 00:27:08,240 No, bueno, lo que pasa 627 00:27:08,240 --> 00:27:10,180 es que con el CSS se hacen algunos ajustes 628 00:27:10,180 --> 00:27:12,259 más detallados de ciertos 629 00:27:12,259 --> 00:27:13,539 DIPs o contenedores 630 00:27:13,539 --> 00:27:15,200 ¿Bootstrap también? 631 00:27:15,200 --> 00:27:17,220 lo utilizamos en conjunto 632 00:27:17,220 --> 00:27:19,460 no, bootstrap no la modificamos 633 00:27:19,460 --> 00:27:20,880 en conjunto, pero simplemente es 634 00:27:20,880 --> 00:27:23,720 un tema de la página web que no es nuestro potencial 635 00:27:23,720 --> 00:27:25,640 nuestro potencial es la aplicación 636 00:27:25,640 --> 00:27:30,680 ¿cuándo usáis esa tecnología? 637 00:27:30,839 --> 00:27:31,740 ¿y luego usáis el backend? 638 00:27:32,440 --> 00:27:34,319 ¿y en el backend usáis algún tipo de contexto? 639 00:27:35,359 --> 00:27:36,599 ¿de contexto en qué sentido? 640 00:27:36,599 --> 00:27:38,339 cuando lo veáis en el backend 641 00:27:38,339 --> 00:27:40,880 cuando lo veáis cómo funciona 642 00:27:40,880 --> 00:27:42,640 crea un token, crea un algo 643 00:27:42,640 --> 00:27:43,960 claro, cuando nos lo veamos 644 00:27:43,960 --> 00:27:46,759 No, cuando nos... 645 00:27:46,759 --> 00:27:48,700 No, no, no, por eso. 646 00:27:49,220 --> 00:27:51,000 Cuando nos logueamos, ingresamos por medio 647 00:27:51,000 --> 00:27:53,279 del registro de la aplicación, guardamos los datos 648 00:27:53,279 --> 00:27:55,000 en nuestra aplicación y utilizamos 649 00:27:55,000 --> 00:27:57,180 la autenticación de Firebase. Y asimismo 650 00:27:57,180 --> 00:27:58,799 Google, cuando accedemos con Google, 651 00:27:59,039 --> 00:28:00,420 eso lo hacemos con Firebase y 652 00:28:00,420 --> 00:28:03,200 capturamos los datos. Y solo 653 00:28:03,200 --> 00:28:05,220 cuando estén logueados en nuestra aplicación 654 00:28:05,220 --> 00:28:06,460 es cuando podemos hacer uso 655 00:28:06,460 --> 00:28:09,220 de esta navegación. La primera vez 656 00:28:09,220 --> 00:28:11,119 va a las validaciones, después de las 657 00:28:11,119 --> 00:28:13,359 validaciones, ya puede utilizar la aplicación 658 00:28:13,359 --> 00:28:15,319 de uso normal, lo que es para registrar 659 00:28:15,319 --> 00:28:17,339 correos electrónicos, redes sociales, teléfonos 660 00:28:17,339 --> 00:28:19,000 o para realizar búsquedas 661 00:28:19,000 --> 00:28:20,740 ¿Y luego en vuestra página? 662 00:28:23,160 --> 00:28:25,200 Eso fue para poder hacer una demostración 663 00:28:25,200 --> 00:28:26,880 de que 664 00:28:26,880 --> 00:28:28,200 podemos 665 00:28:28,200 --> 00:28:31,200 No, es solamente una demostración de que podemos 666 00:28:31,200 --> 00:28:33,420 trabajar con los hotas de APIs externas 667 00:28:33,420 --> 00:28:35,099 y poder mostrarlos 668 00:28:35,099 --> 00:28:36,920 en la página web 669 00:28:36,920 --> 00:28:38,240 Vale, yo ya 670 00:28:38,240 --> 00:28:58,819 por ejemplo, me decís 671 00:28:58,819 --> 00:29:00,619 vale, hago una llamada, le hago una foto 672 00:29:00,619 --> 00:29:02,500 y demás, que me pida a mí coger una 673 00:29:02,500 --> 00:29:04,220 inteligencia artificial, simularla a cada 674 00:29:04,220 --> 00:29:06,140 otro, simularle el DNI 675 00:29:06,140 --> 00:29:06,940 Sí, claro 676 00:29:06,940 --> 00:29:10,019 Sí, nosotros 677 00:29:10,019 --> 00:29:12,200 nosotros queríamos poder haber hecho 678 00:29:12,200 --> 00:29:14,039 de pronto un poco más a profundidad el tema 679 00:29:14,039 --> 00:29:16,279 de la validación, pero por los tiempos 680 00:29:16,279 --> 00:29:17,920 se nos fue un poco difícil, aún así 681 00:29:17,920 --> 00:29:20,079 somos conscientes de que claro, la aplicación 682 00:29:20,079 --> 00:29:21,619 no está del todo 683 00:29:21,619 --> 00:29:24,099 terminada, faltan 684 00:29:24,099 --> 00:29:26,099 muchas mejoras en el proceso de validación 685 00:29:26,099 --> 00:29:28,240 porque claramente, ahorita mismo 686 00:29:28,240 --> 00:29:30,460 muchas personas pueden registrarse 687 00:29:30,460 --> 00:29:31,019 de forma 688 00:29:31,019 --> 00:29:43,569 no, no, claro 689 00:29:43,569 --> 00:29:45,529 el correo electrónico, el tema es ese 690 00:29:45,529 --> 00:29:47,490 que cuando nosotros nos registramos 691 00:29:47,490 --> 00:29:49,529 en Identifica, ayudamos es a la 692 00:29:49,529 --> 00:29:51,410 comunidad, para que de aquí a mañana 693 00:29:51,410 --> 00:29:53,309 cualquier persona vea Identifica 694 00:29:53,309 --> 00:29:55,029 como un banco mundial de datos y diga 695 00:29:55,029 --> 00:29:57,470 me llegó un correo de una persona que dice 696 00:29:57,470 --> 00:29:59,690 Juan arroba Gmail, y yo pienso 697 00:29:59,690 --> 00:30:01,490 ah, es Juan Pablo Caro, pero entonces 698 00:30:01,490 --> 00:30:03,349 no estoy seguro, cojo ese correo, lo copio 699 00:30:03,349 --> 00:30:05,529 lo pego en el buscador de identifica y busco 700 00:30:05,529 --> 00:30:07,230 si me dice, ese correo no le pertenece a nadie 701 00:30:07,230 --> 00:30:09,369 yo digo, pues puede ser una estafa, porque 702 00:30:09,369 --> 00:30:11,430 si no está registrado en identifica, no es una 703 00:30:11,430 --> 00:30:13,390 persona real y tampoco es una persona 704 00:30:13,390 --> 00:30:15,250 que quiera dar su identidad, pero si yo 705 00:30:15,250 --> 00:30:17,190 copio ese correo y lo pego en identifica 706 00:30:17,190 --> 00:30:19,410 y lo busco, y me sale, este correo le pertenece 707 00:30:19,410 --> 00:30:21,490 al usuario Juan Pablo, yo sé que es una persona real 708 00:30:21,490 --> 00:30:23,369 porque ha pasado validaciones y también 709 00:30:23,369 --> 00:30:25,250 de que no se trata de una suplantación, porque ha dejado 710 00:30:25,250 --> 00:30:27,049 sus datos de DNI, que si quiere estafar 711 00:30:27,049 --> 00:30:29,170 igual tenemos los datos y se puede denunciar 712 00:30:29,170 --> 00:30:34,180 entonces... 713 00:30:34,180 --> 00:30:40,019 Soy de Banquia, y es que lo pone, lo pone Banquia, lo pone CaixaBank, y es que pone CaixaBank. 714 00:30:41,940 --> 00:30:45,019 Puedo coger cualquier usuario de ahí y mandar un correo. 715 00:30:48,569 --> 00:30:51,150 Claro, es una máscara, sí, del correo. 716 00:30:51,170 --> 00:30:52,190 Las páginas digitales y demás. 717 00:30:52,549 --> 00:30:52,730 Sí. 718 00:30:52,789 --> 00:31:02,569 Por ejemplo, cada usuario que tiene una clave pública la sube, y eso sí que es, vamos, firma un mensaje, 719 00:31:03,049 --> 00:31:07,109 y simplemente con mirar el mensaje y mirar si la firma coincide, no hay que hacer nada más. 720 00:31:07,109 --> 00:31:14,329 Digamos que nuestra aplicación no la vimos enfocada en ese aspecto, pero sí, es verdad, esas anotaciones. 721 00:31:14,329 --> 00:31:22,470 La enfocamos más en el aspecto de comunidad, de poder todos registrar los datos de manera segura en una aplicación a nivel global 722 00:31:22,470 --> 00:31:25,970 y que todas las personas sepan que en Identifica los datos que están son de personas reales. 723 00:31:26,690 --> 00:31:29,849 Y los que no aparezcan pueden ser posibles estafas o suplantaciones. 724 00:31:30,250 --> 00:31:37,430 Me gusta más lo que es el diseño de la aplicación, todo el software, todo lo que ha visto la mano, 725 00:31:37,430 --> 00:31:52,299 que realmente nadie me evita coger un mito de imágenes de Mario y mandarle una foto. 726 00:31:52,839 --> 00:31:54,940 A mí que decir, mira, que Mario dice que no se invita a hacer nada de todo. 727 00:31:57,319 --> 00:32:02,920 Sí, puede que tenga varios aspectos de mejora. 728 00:32:02,940 --> 00:32:07,119 O sea, en el momento que no metas firmas digitales y cosas así, todo esto se cae, o sea, es súper fácil. 729 00:32:07,119 --> 00:32:12,210 Sí, en ese aspecto 730 00:32:12,210 --> 00:32:13,849 digamos que internamente la autenticación 731 00:32:13,849 --> 00:32:15,890 de la aplicación sí está validada 732 00:32:15,890 --> 00:32:17,470 por Firebase y este tema ya maneja 733 00:32:17,470 --> 00:32:19,910 los tokens internos, pero ya 734 00:32:19,910 --> 00:32:21,569 frente al resto de personas 735 00:32:21,569 --> 00:32:22,970 efectivamente no tenemos las claves 736 00:32:22,970 --> 00:32:30,450 Sí, el diseño de la base de datos 737 00:32:30,450 --> 00:32:31,730 ¿Puedo mostrar rápido? 738 00:32:51,960 --> 00:32:53,839 Vale, en el diseño de la base de datos lo que tenemos 739 00:32:53,839 --> 00:32:54,240 es 740 00:32:54,240 --> 00:32:57,660 las clases de perfil 741 00:32:57,660 --> 00:32:58,920 de usuario, perfil 742 00:32:58,920 --> 00:33:02,000 correos, teléfonos 743 00:33:02,000 --> 00:33:03,759 y retos matemáticos 744 00:33:03,759 --> 00:33:05,660 también está la clase de redes sociales 745 00:33:05,660 --> 00:33:07,759 pero como no hemos insertado una red social todavía 746 00:33:07,759 --> 00:33:09,480 pues no nos aparece aquí la red social 747 00:33:09,480 --> 00:33:11,700 entonces por ejemplo 748 00:33:11,700 --> 00:33:13,880 la parte aquí interesante 749 00:33:13,880 --> 00:33:15,960 puede ser también la del reto matemático 750 00:33:15,960 --> 00:33:21,779 aquí lo que es el reto 751 00:33:21,779 --> 00:33:23,160 matemático como se pueden dar cuenta 752 00:33:23,160 --> 00:33:25,880 lo que generamos es un ID del usuario 753 00:33:25,880 --> 00:33:27,819 para identificar a quien le pertenece el reto 754 00:33:27,819 --> 00:33:29,740 matemático, los dos números 755 00:33:29,740 --> 00:33:31,960 y la operación a realizar 756 00:33:31,960 --> 00:33:33,859 y esto es lo que se le envía como tal 757 00:33:33,859 --> 00:33:36,059 al usuario para que se valide. 758 00:33:36,779 --> 00:33:38,440 También generamos lo que es el tiempo de creación 759 00:33:38,440 --> 00:33:40,460 para saber si es superior a dos minutos 760 00:33:40,460 --> 00:33:44,119 y en tal caso darle como que está mal la validación 761 00:33:44,119 --> 00:33:45,500 y que repita nuevamente el proceso. 762 00:33:46,279 --> 00:33:50,019 Asimismo, el usuario lo que tiene en sí es 763 00:33:50,019 --> 00:33:58,779 el identificador que se genera de manera aleatoria y única. 764 00:33:59,500 --> 00:34:02,880 El nombre tiene un DRF directo con teléfono 765 00:34:02,880 --> 00:34:04,859 y con correo, con email. 766 00:34:05,000 --> 00:34:07,279 y también con perfil, ¿vale? 767 00:34:07,900 --> 00:34:10,239 y tiene un array de dos validaciones 768 00:34:10,239 --> 00:34:12,039 que son las validaciones que tenemos las dos 769 00:34:12,039 --> 00:34:13,260 de la llamada y la foto 770 00:34:13,260 --> 00:34:15,719 si las dos validaciones están en true 771 00:34:15,719 --> 00:34:18,960 es cuando podemos dejar de darle acceso a la aplicación 772 00:34:18,960 --> 00:34:23,400 aquí son dos objetos 773 00:34:23,400 --> 00:34:28,219 este es la, por ejemplo, la validación de la llamada 774 00:34:28,219 --> 00:34:30,559 que está en falsa y lo mismo el otro objeto, me imagino 775 00:34:30,559 --> 00:34:33,480 entonces, así como está, por ejemplo, no podría acceder a la aplicación 776 00:34:33,480 --> 00:34:35,960 hasta que las dos validaciones estén en true, ¿vale? 777 00:34:35,960 --> 00:34:52,539 Y lo que tienen, por ejemplo, ya los perfiles o los, digo, los correos, los teléfonos y eso, lo que hace simplemente es apuntar a un, por medio del ID del usuario, del perfil de usuario, apunta a que este correo le pertenece a este usuario. 778 00:34:53,039 --> 00:34:59,340 Entonces, así podemos pintar todas las, los datos que tenga la persona en su propio perfil, ¿vale? 779 00:34:59,340 --> 00:35:04,590 utilizamos un servidor externo 780 00:35:04,590 --> 00:35:06,710 nosotros para todo este proceso 781 00:35:06,710 --> 00:35:09,650 hemos hablado con una empresa 782 00:35:09,650 --> 00:35:10,630 que se llama Ablerta 783 00:35:10,630 --> 00:35:12,809 que es una aplicación de seguridad también 784 00:35:12,809 --> 00:35:13,849 para terceros 785 00:35:13,849 --> 00:35:16,309 y de ellos nos interesaba precisamente 786 00:35:16,309 --> 00:35:18,050 el tema de que ellos tienen 787 00:35:18,050 --> 00:35:19,889 este tema de la validación de llamadas 788 00:35:19,889 --> 00:35:22,050 entonces con ellos hablamos 789 00:35:22,050 --> 00:35:22,829 para que nos pudieran 790 00:35:22,829 --> 00:35:27,030 prestar ese API externo 791 00:35:27,030 --> 00:35:28,210 para poder utilizar la llamada 792 00:35:28,210 --> 00:35:29,789 al WhatsApp, ese servidor de llamadas 793 00:35:29,789 --> 00:35:30,769 es como utilizar 794 00:35:30,769 --> 00:35:31,590 Firebase para acceder 795 00:35:31,590 --> 00:35:32,010 con Google 796 00:35:32,010 --> 00:35:32,809 o demás 797 00:35:32,809 --> 00:35:42,309 si 798 00:35:42,309 --> 00:35:44,210 se le pueden pasar 799 00:35:44,210 --> 00:35:45,489 tanto el idioma 800 00:35:45,489 --> 00:35:45,869 como 801 00:35:45,869 --> 00:35:47,489 el texto 802 00:35:47,489 --> 00:35:48,070 de que uno 803 00:35:48,070 --> 00:35:49,510 desee que diga 804 00:35:49,510 --> 00:35:50,550 y en ese caso 805 00:35:50,550 --> 00:35:51,349 nosotros ahí fue donde 806 00:35:51,349 --> 00:35:52,349 incluimos 807 00:35:52,349 --> 00:35:52,869 todo el tema 808 00:35:52,869 --> 00:35:53,590 de que 809 00:35:53,590 --> 00:35:54,349 de poderle pasar 810 00:35:54,349 --> 00:35:55,210 el reto matemático 811 00:35:55,210 --> 00:35:55,690 y que pudiera 812 00:35:55,690 --> 00:35:56,269 interpretarlo 813 00:35:56,269 --> 00:36:00,460 de forma correcta 814 00:36:00,460 --> 00:36:10,900 si bueno 815 00:36:10,900 --> 00:36:12,119 autentificar 816 00:36:12,119 --> 00:36:13,039 es poder dar 817 00:36:13,039 --> 00:36:13,760 veracidad 818 00:36:13,760 --> 00:36:14,519 de que la persona 819 00:36:14,519 --> 00:36:15,780 es quien dice ser 820 00:36:15,780 --> 00:36:18,079 y no se trate de una suplantación 821 00:36:18,079 --> 00:36:20,119 que sea auténtica 822 00:36:20,119 --> 00:36:33,599 después de escuchar la conversación 823 00:36:33,599 --> 00:36:34,599 a fuente de datos 824 00:36:34,599 --> 00:36:37,179 a partir de la cual yo puedo hacer un mando 825 00:36:37,179 --> 00:36:39,820 para poder reclamar todo lo que yo quiera 826 00:36:39,820 --> 00:36:41,559 en nombre de otra persona 827 00:36:41,559 --> 00:36:42,619 si 828 00:36:42,619 --> 00:36:44,480 creo que hay más que 829 00:36:44,480 --> 00:36:46,340 autentificar 830 00:36:46,340 --> 00:36:48,500 lo que estáis creando 831 00:36:48,500 --> 00:36:52,469 es estudiar un poco 832 00:36:52,469 --> 00:36:55,269 desde el cual yo pueda cometer atrocidades 833 00:36:55,269 --> 00:36:56,389 en nombre de otra persona 834 00:36:56,389 --> 00:36:58,510 bueno, claramente nosotros 835 00:36:58,510 --> 00:37:14,730 Sí, claramente puede tener muchos problemas de seguridad, pero como decimos, es una aplicación que en su idea general es poder mejorar las validaciones y que sea cada vez más robusta en la parte de seguridad. 836 00:37:14,730 --> 00:37:18,130 ahorita mismo pueden pasar todas las cosas que nos están diciendo 837 00:37:18,130 --> 00:37:20,789 tuvimos un tiempo también limitado 838 00:37:20,789 --> 00:37:23,230 para poder desarrollarla de la mejor forma posible 839 00:37:23,230 --> 00:37:26,489 pero la idea principal creo que es lo más importante 840 00:37:26,489 --> 00:37:27,949 el poder que la aplicación 841 00:37:27,949 --> 00:37:31,789 si está configurada de manera segura correctamente 842 00:37:31,789 --> 00:37:33,469 y verifica correctamente los perfiles 843 00:37:33,469 --> 00:37:35,550 es una aplicación que tiene mucho potencial 844 00:37:35,550 --> 00:37:37,550 porque de aquí a mañana si a mí me llega un correo X 845 00:37:37,550 --> 00:37:39,250 yo lo busco en la aplicación 846 00:37:39,250 --> 00:37:40,809 y si yo veo que no está registrado 847 00:37:40,809 --> 00:37:41,989 puede tratarse de una estafa 848 00:37:41,989 --> 00:37:44,090 porque la idea es que todo el mundo vea 849 00:37:44,090 --> 00:37:47,050 identifica como una idea global 850 00:37:47,050 --> 00:37:49,449 en identifica si aparece, existe 851 00:37:49,449 --> 00:37:51,949 y si no, puede tratarse de algún problema 852 00:37:51,949 --> 00:37:55,210 entonces yo sé que ahorita a corto plazo 853 00:37:55,210 --> 00:37:56,230 pueden haber fallas 854 00:37:56,230 --> 00:37:58,969 porque por ejemplo ahorita solo estoy yo registrado 855 00:37:58,969 --> 00:38:00,969 entonces cualquiera que busque no existe 856 00:38:00,969 --> 00:38:02,610 pero no significa que no sea real 857 00:38:02,610 --> 00:38:05,210 pero a futuro, ver la idea como a futuro 858 00:38:05,210 --> 00:38:07,130 es si la aplicación crece 859 00:38:07,130 --> 00:38:09,670 y podemos hacer que todo el mundo haga uso de ella 860 00:38:09,670 --> 00:38:13,030 podemos dar fe de que si no está registrado ahí 861 00:38:13,030 --> 00:38:14,750 puede que no sea una persona red 862 00:38:14,750 --> 00:38:28,260 claro, pero 863 00:38:28,260 --> 00:38:33,300 no 864 00:38:33,300 --> 00:38:48,550 claro, no porque lo que te dice es 865 00:38:48,550 --> 00:38:50,530 le pertenece a, solamente mostramos el nombre 866 00:38:50,530 --> 00:38:52,690 y un identificador, pero ya como tal 867 00:38:52,690 --> 00:38:54,190 acceso a nuestras bases de datos 868 00:38:54,190 --> 00:39:02,679 claro, pero no 869 00:39:02,679 --> 00:39:06,059 no se va a tener como tal los datos 870 00:39:06,059 --> 00:39:08,000 de la persona, simplemente va a mostrar el nombre al que le 871 00:39:08,000 --> 00:39:09,960 pertenece y poco más 872 00:39:09,960 --> 00:39:11,900 pero claro, es verdad que al ser ese 873 00:39:11,900 --> 00:39:12,800 punto tan 874 00:39:12,800 --> 00:39:15,440 de libre acceso, pueden 875 00:39:15,440 --> 00:39:17,360 ejecutar ciertos códigos 876 00:39:17,360 --> 00:39:24,849 ¿Estáis utilizando 877 00:39:24,849 --> 00:39:28,550 el sistema de mensajes? 878 00:39:29,050 --> 00:39:30,530 Sí, las notificaciones 879 00:39:30,530 --> 00:39:32,130 nosotros tenemos notificaciones 880 00:39:32,130 --> 00:39:33,849 sino que no les pudimos dar una prueba 881 00:39:33,849 --> 00:39:35,829 voy a ver si el móvil le llegó una notificación pero 882 00:39:35,829 --> 00:39:40,000 no, no le ha llegado ninguna notificación 883 00:39:40,000 --> 00:39:41,800 pero 884 00:39:41,800 --> 00:39:43,159 exacto, y también 885 00:39:43,159 --> 00:39:46,539 nosotros cuando pueden recuperar en la contraseña 886 00:39:46,539 --> 00:39:48,460 y les llega un correo 887 00:39:48,460 --> 00:39:50,579 con un enlace para que recuperen la contraseña 888 00:39:50,579 --> 00:39:52,440 es que no tuvimos mucho tiempo para eso 889 00:39:52,440 --> 00:39:54,539 la notificación 890 00:39:55,260 --> 00:39:56,519 llega a todos los usuarios 891 00:39:56,519 --> 00:39:58,539 como recordatorio, nosotros las enviamos 892 00:39:58,539 --> 00:40:00,460 a los usuarios como tips de seguridad 893 00:40:00,460 --> 00:40:02,659 simplemente de notificaciones 894 00:40:02,659 --> 00:40:05,860 nosotros 895 00:40:05,860 --> 00:40:06,800 generamos 896 00:40:06,800 --> 00:40:10,000 sí, nuestro sistema 897 00:40:10,000 --> 00:40:16,760 nosotros, claro, pero lo que 898 00:40:16,760 --> 00:40:18,719 hacemos con Firebase es generar 899 00:40:18,719 --> 00:40:20,940 las notificaciones de campañas, en este estilo 900 00:40:20,940 --> 00:40:22,639 por ejemplo, un recordatorio que 901 00:40:22,639 --> 00:40:24,679 cambia tu contraseña, entonces 902 00:40:24,679 --> 00:40:26,760 que cada cierto tiempo les llegue 903 00:40:26,760 --> 00:40:29,179 esas notificaciones a los usuarios solamente como recordatorios 904 00:40:29,179 --> 00:40:30,059 de notificaciones 905 00:40:30,059 --> 00:40:41,769 nosotros generamos 906 00:40:41,769 --> 00:40:42,670 esas notificaciones 907 00:40:42,670 --> 00:40:45,150 En la parte del servidor 908 00:40:45,150 --> 00:40:45,849 En la de 909 00:40:45,849 --> 00:40:50,710 Claro, en el servidor no 910 00:40:50,710 --> 00:40:53,309 Firebase es el que se encarga de hacer esas notificaciones 911 00:40:53,309 --> 00:40:54,510 Pero alguien se lo tiene 912 00:40:54,510 --> 00:40:59,750 Claro, pero si quieres ahorita mismo 913 00:40:59,750 --> 00:41:02,289 Tú puedes enviar una notificación y vemos como nos llega 914 00:41:02,289 --> 00:41:03,550 Lo que te está diciendo a mí 915 00:41:03,550 --> 00:41:04,329 Es que no 916 00:41:04,329 --> 00:41:06,030 ¿Quién de estos? 917 00:41:06,230 --> 00:41:07,230 Es Messaging 918 00:41:07,230 --> 00:41:10,110 Claro, pero este es Firebase Messaging 919 00:41:10,110 --> 00:41:12,489 Que es el que se encarga de enviarle las notificaciones 920 00:41:12,489 --> 00:41:13,989 Lo que te quiero decir es que 921 00:41:13,989 --> 00:41:15,829 Alguno de estos se tiene que chupar con esto 922 00:41:15,829 --> 00:41:16,869 ¿Alguno de estos? 923 00:41:17,030 --> 00:41:19,130 No, lo que pasa es que 924 00:41:19,130 --> 00:41:21,030 cuando se utiliza Firebase Messaging 925 00:41:21,030 --> 00:41:22,650 lo que hacemos es un token 926 00:41:22,650 --> 00:41:24,130 y ese token se 927 00:41:24,130 --> 00:41:27,070 registra en Android Studio 928 00:41:27,070 --> 00:41:28,250 para cada usuario 929 00:41:28,250 --> 00:41:30,210 entonces cada usuario, nosotros 930 00:41:30,210 --> 00:41:32,590 tenemos una clase que se llama 931 00:41:32,590 --> 00:41:33,670 Firebase Messaging 932 00:41:33,670 --> 00:41:36,250 en Android Studio 933 00:41:36,250 --> 00:41:38,650 y entonces ahí se le genera el token al usuario 934 00:41:38,650 --> 00:41:40,789 y cuando Firebase, nosotros hacemos 935 00:41:40,789 --> 00:41:42,449 la campaña de enviar notificaciones 936 00:41:42,449 --> 00:41:43,949 ¿Hacemos la campaña? 937 00:41:43,949 --> 00:41:46,170 nosotros tenemos 938 00:41:46,170 --> 00:41:47,329 para escribir 939 00:41:47,329 --> 00:41:49,909 no, aquí no 940 00:41:49,909 --> 00:41:51,789 está en Firebase, en la página de Firebase 941 00:41:51,789 --> 00:41:54,250 nosotros ponemos, vale, quiero que a los 942 00:41:54,250 --> 00:41:56,170 usuarios que tengan la aplicación les llegue este 943 00:41:56,170 --> 00:41:58,150 título y este contenido, y les damos 944 00:41:58,150 --> 00:42:00,269 enviar, entonces, si no ponemos nada, les llega 945 00:42:00,269 --> 00:42:02,190 a todos, o podemos especificar el token 946 00:42:02,190 --> 00:42:04,170 específico del usuario, porque tenemos acceso 947 00:42:04,170 --> 00:42:06,349 al token de cada usuario, porque está en Android 948 00:42:06,349 --> 00:42:11,570 claro, a los que están 949 00:42:11,570 --> 00:42:13,489 en web, no, porque la web no tiene registro 950 00:42:13,489 --> 00:42:15,130 la web solamente sirve para búsquedas 951 00:42:15,130 --> 00:42:16,909 la aplicación es la única en donde 952 00:42:16,909 --> 00:42:19,110 la gente se puede registrar, dar de alta sus 953 00:42:19,110 --> 00:42:20,989 correos, sus teléfonos, puede recibir 954 00:42:20,989 --> 00:42:30,849 notificaciones, nosotros 955 00:42:30,849 --> 00:42:33,190 las controlamos, lo que es las notificaciones 956 00:42:33,190 --> 00:42:36,389 no, las notificaciones no 957 00:42:36,389 --> 00:42:38,429 pero, vale 958 00:42:38,429 --> 00:42:48,900 como caché 959 00:42:48,900 --> 00:42:52,059 si en un proceso de transacción 960 00:42:52,059 --> 00:42:53,599 se está escacheando 961 00:42:53,599 --> 00:42:55,619 la transacción, si la transacción se viene abajo 962 00:42:55,619 --> 00:42:56,780 se va abajo de la caché 963 00:42:56,780 --> 00:42:59,380 si, nosotros, bueno, nosotros 964 00:42:59,380 --> 00:43:01,260 hicimos el tema de la transacción 965 00:43:01,260 --> 00:43:03,099 para que precisamente si 966 00:43:03,099 --> 00:43:05,960 todo falla, la transacción obviamente 967 00:43:05,960 --> 00:43:07,719 devuelve el proceso y lo que es 968 00:43:07,719 --> 00:43:09,699 Redis no se alcanza a actualizar 969 00:43:09,699 --> 00:43:10,719 porque 970 00:43:10,719 --> 00:43:14,139 si falló el proceso de insertar el usuario 971 00:43:14,139 --> 00:43:16,000 entonces ese proceso tampoco 972 00:43:16,000 --> 00:43:18,179 se alcanza a registrar en la caché de Redis 973 00:43:18,179 --> 00:43:20,039 y ahí volvemos 974 00:43:20,039 --> 00:43:22,360 si llegan a hacer otra 975 00:43:22,360 --> 00:43:23,659 de insertar o actualizar 976 00:43:23,659 --> 00:43:25,400 pues la caché vuelve y se regenera 977 00:43:25,400 --> 00:43:39,559 no, lo que queremos aclarar 978 00:43:39,559 --> 00:43:41,480 ahí simplemente es que igualmente 979 00:43:41,480 --> 00:43:43,119 los datos que llegan son 980 00:43:43,119 --> 00:43:45,139 DTOs para que sepan que no 981 00:43:45,139 --> 00:43:46,900 están llegando todos los datos 982 00:43:46,900 --> 00:43:48,880 arriba, no significa que sea un sistema de seguridad 983 00:43:48,880 --> 00:43:50,139 simplemente es 984 00:43:50,139 --> 00:43:53,960 claro, claramente 985 00:43:53,960 --> 00:43:56,360 claro, no, y que 986 00:43:56,360 --> 00:43:58,739 aún así la clase sea igual 987 00:43:58,739 --> 00:44:01,079 así por ejemplo el usuario quiera subirlo tal cual 988 00:44:01,079 --> 00:44:02,940 igual lo mejor es subir el DTO, así sea 989 00:44:02,940 --> 00:44:04,780 lo mismo, porque para que no haya 990 00:44:04,780 --> 00:44:06,519 un problema de interferencia entre clases 991 00:44:06,519 --> 00:44:10,960 lo que son las validaciones, la llamada 992 00:44:10,960 --> 00:44:12,219 prácticamente y lo que 993 00:44:12,219 --> 00:44:22,429 nosotros tenemos varios endpoints 994 00:44:22,429 --> 00:44:23,130 desde 995 00:44:23,130 --> 00:44:37,059 sí, desde el postman 996 00:44:37,059 --> 00:44:38,659 claro, sí, nosotros no tenemos tampoco 997 00:44:38,659 --> 00:44:40,739 que como tal 998 00:44:40,739 --> 00:44:42,699 que no, que corte y eso no 999 00:44:42,699 --> 00:44:46,619 el despliegue 1000 00:44:46,619 --> 00:44:48,400 de qué específicamente, perdón 1001 00:44:48,400 --> 00:44:56,380 el despliegue por medio del QR 1002 00:44:56,380 --> 00:44:57,900 ustedes 1003 00:44:57,900 --> 00:45:05,519 del servidor para desplegarlo 1004 00:45:05,519 --> 00:45:32,849 ahorita lo puedes 1005 00:45:32,849 --> 00:45:33,349 bajar un poco 1006 00:45:33,349 --> 00:45:36,849 pues los requisitos del sistema para el 1007 00:45:36,849 --> 00:45:38,730 despliegue es poder tener pues un Windows 10 1008 00:45:38,730 --> 00:45:40,210 o superior, un Intel Core i5 1009 00:45:40,210 --> 00:45:42,530 o superior, un almacenamiento mínimo de 1010 00:45:42,530 --> 00:45:43,769 512 GB 1011 00:45:43,769 --> 00:45:46,730 una memoria RAM 1012 00:45:46,730 --> 00:45:48,329 mínimo de 8 GB, vale 1013 00:45:48,329 --> 00:45:55,710 pero esto es para el desarrollo 1014 00:45:55,710 --> 00:45:56,750 de la aplicación 1015 00:45:56,750 --> 00:46:01,940 claro 1016 00:46:01,940 --> 00:46:05,880 pero es que 1017 00:46:05,880 --> 00:46:06,960 esto es el backend, entonces 1018 00:46:06,960 --> 00:46:09,320 si tú lo que quieres es la aplicación 1019 00:46:09,320 --> 00:46:11,699 pues la tienes que descargar desde el código QR 1020 00:46:11,699 --> 00:46:12,320 no entiendo 1021 00:46:12,320 --> 00:46:14,079 imagínate que 1022 00:46:14,079 --> 00:46:17,340 necesitas poner otro servidor 1023 00:46:17,340 --> 00:46:22,380 si, si, es que bueno 1024 00:46:22,380 --> 00:46:24,199 no sé si me estoy entendiendo mal 1025 00:46:24,199 --> 00:46:25,900 la pregunta, pero aquí como tal 1026 00:46:25,900 --> 00:46:26,739 lo que 1027 00:46:26,739 --> 00:46:28,980 estructuramos es 1028 00:46:28,980 --> 00:46:30,400 que se debe 1029 00:46:30,400 --> 00:46:33,139 aquí está 1030 00:46:33,139 --> 00:46:34,679 la conexión a la base de datos 1031 00:46:34,679 --> 00:46:36,760 el cual tienen que conectarse 1032 00:46:36,760 --> 00:46:38,860 o sea, tienen que tener primero acceso a esta base de datos 1033 00:46:38,860 --> 00:46:39,940 después 1034 00:46:39,940 --> 00:46:43,059 bueno, aquí están los endpoints del backend 1035 00:46:43,059 --> 00:46:45,019 la mayoría de los endpoints 1036 00:46:45,019 --> 00:46:51,199 sí, correcto 1037 00:46:51,199 --> 00:46:51,559 bueno 1038 00:46:51,559 --> 00:46:55,320 ¿cómo así? 1039 00:46:55,940 --> 00:46:57,159 sí, he visto que es un Atlas 1040 00:46:57,159 --> 00:46:58,840 si es un Atlas 1041 00:46:58,840 --> 00:47:00,239 tengo la URL a la cual 1042 00:47:00,239 --> 00:47:04,989 sí, o sea 1043 00:47:04,989 --> 00:47:06,630 Puede que no hayamos 1044 00:47:06,630 --> 00:47:08,909 Profundizado en la seguridad 1045 00:47:08,909 --> 00:47:10,010 Pero ir respecto 1046 00:47:10,010 --> 00:47:11,909 Es que 1047 00:47:11,909 --> 00:47:14,909 Claro, claro, es que, vale, vale 1048 00:47:14,909 --> 00:47:16,010 Estoy un poco 1049 00:47:16,010 --> 00:47:17,289 Perdido 1050 00:47:17,289 --> 00:47:21,340 Bueno, quizás si hazlas 1051 00:47:21,340 --> 00:47:23,599 Si vemos el modelo de la base de datos 1052 00:47:23,599 --> 00:47:24,900 Vea, está ya 1053 00:47:24,900 --> 00:47:32,190 Hay una cosa que me llama la atención 1054 00:47:32,190 --> 00:47:36,380 Porque el cliente 1055 00:47:36,380 --> 00:47:37,659 El usuario, el user 1056 00:47:37,659 --> 00:47:39,440 Resulta que tiene un profile 1057 00:47:39,440 --> 00:47:40,559 Correcto 1058 00:47:40,559 --> 00:47:42,619 El profile tiene un conjunto de teléfonos 1059 00:47:42,619 --> 00:47:45,219 pero al mismo tiempo 1060 00:47:45,219 --> 00:47:47,239 el cliente también tiene un teléfono 1061 00:47:47,239 --> 00:47:49,280 correcto 1062 00:47:49,280 --> 00:47:50,639 es así porque 1063 00:47:50,639 --> 00:47:53,380 lo que el usuario tiene es 1064 00:47:53,380 --> 00:47:55,360 un perfil, el perfil no tiene un conjunto 1065 00:47:55,360 --> 00:47:56,280 en sí de nada 1066 00:47:56,280 --> 00:47:59,360 lo que tenemos es que cada correo, cada teléfono 1067 00:47:59,360 --> 00:48:01,099 cada red social tiene 1068 00:48:01,099 --> 00:48:03,260 el ID del perfil, apunta 1069 00:48:03,260 --> 00:48:05,460 al perfil, el perfil no tiene 1070 00:48:05,460 --> 00:48:06,679 como tal un conjunto de nada 1071 00:48:06,679 --> 00:48:09,179 estos apuntan es al perfil 1072 00:48:09,179 --> 00:48:11,380 y el usuario lo que sí 1073 00:48:11,380 --> 00:48:13,480 tiene es, apunta directamente 1074 00:48:13,480 --> 00:48:15,260 al perfil, a teléfono y a correo. 1075 00:48:15,980 --> 00:48:17,300 Teléfono y correo como mínimo 1076 00:48:17,300 --> 00:48:19,380 porque es lo mínimo que necesitamos para poder 1077 00:48:19,380 --> 00:48:20,719 registrar al usuario en la aplicación. 1078 00:48:21,300 --> 00:48:23,059 Y es lo mínimo que necesitamos para que el usuario esté 1079 00:48:23,059 --> 00:48:24,199 validado. 1080 00:48:25,360 --> 00:48:27,579 Después de ello, ya el usuario puede agregar 1081 00:48:27,579 --> 00:48:29,400 correos, teléfonos, los que 1082 00:48:29,400 --> 00:48:31,139 sea y se le van a agregar aquí 1083 00:48:31,139 --> 00:48:33,340 todos los que él quiera. Pero como 1084 00:48:33,340 --> 00:48:35,099 mínimo debe tener un correo y un teléfono 1085 00:48:35,099 --> 00:48:37,360 para que esté registrado y por eso 1086 00:48:37,360 --> 00:48:39,360 está asociado el usuario 1087 00:48:39,360 --> 00:48:41,000 con un correo y un teléfono solamente. 1088 00:48:41,380 --> 00:48:43,340 Y ya después puede tener su lista que va por 1089 00:48:43,340 --> 00:48:50,420 aparte. Y se van a pasar 1090 00:48:50,420 --> 00:48:52,599 directamente al perfil 1091 00:48:52,599 --> 00:48:53,960 para guardarlos 1092 00:48:53,960 --> 00:48:56,219 en su lista de teléfonos 1093 00:48:56,219 --> 00:48:59,679 y no hace falta guardarlo. 1094 00:48:59,820 --> 00:49:02,460 Pero tengo duplicado. Por un lado tengo 1095 00:49:02,460 --> 00:49:03,659 mi teléfono y mi correo 1096 00:49:03,659 --> 00:49:05,599 como parte de datos míos 1097 00:49:05,599 --> 00:49:07,719 de usuarios. Además 1098 00:49:07,719 --> 00:49:09,679 tengo un perfil donde 1099 00:49:09,679 --> 00:49:11,739 dentro de ese perfil tengo mi teléfono 1100 00:49:11,739 --> 00:49:13,539 y mi correo. No, no está duplicado. 1101 00:49:14,739 --> 00:49:15,539 Porque este 1102 00:49:15,539 --> 00:49:17,739 apunta directamente, por ejemplo, si el usuario 1103 00:49:17,739 --> 00:49:19,780 tiene un correo, apunta directamente a la colección 1104 00:49:19,780 --> 00:49:21,719 de emails. Y la colección de 1105 00:49:21,719 --> 00:49:23,599 emails lo que es, es esto. Entonces el usuario 1106 00:49:23,599 --> 00:49:25,860 lo que tiene es apuntando directamente a esto. 1107 00:49:26,260 --> 00:49:26,940 Y ya después 1108 00:49:26,940 --> 00:49:29,639 varios correos que tenga el usuario van a 1109 00:49:29,639 --> 00:49:30,340 apuntar al perfil. 1110 00:49:38,610 --> 00:49:40,789 Lo que nosotros hacemos es 1111 00:49:40,789 --> 00:49:42,889 filtrar por el... 1112 00:49:47,969 --> 00:49:48,869 Claro, para tú 1113 00:49:48,869 --> 00:49:51,030 buscar, para acceder a los 1114 00:49:51,030 --> 00:49:52,550 correos del usuario, correctamente 1115 00:49:52,550 --> 00:49:54,769 se le pregunta a la colección 1116 00:49:54,769 --> 00:49:55,889 de email, sí, correcto 1117 00:49:55,889 --> 00:49:57,949 déjame que os diga, de verdad 1118 00:49:57,949 --> 00:50:01,670 lo que habéis montado 1119 00:50:01,670 --> 00:50:06,760 lo hicimos de la forma 1120 00:50:06,760 --> 00:50:07,920 más clara posible 1121 00:50:07,920 --> 00:50:14,010 eso se llama 1122 00:50:14,010 --> 00:50:17,760 un bando de personal 1123 00:50:17,760 --> 00:50:18,659 eso se llama 1124 00:50:18,659 --> 00:50:21,539 un bando de propagar 1125 00:50:21,539 --> 00:50:26,550 lo lógico, lo normal 1126 00:50:26,550 --> 00:50:28,289 es que eso forme parte de los datos 1127 00:50:28,289 --> 00:50:28,889 del usuario 1128 00:50:28,889 --> 00:50:32,429 porque un usuario no va a tener 1129 00:50:32,429 --> 00:50:33,369 más de 4 o 5 1130 00:50:33,369 --> 00:50:36,449 y va a tener más de 4 o 5 1131 00:50:36,449 --> 00:50:38,429 teléfonos, luego eso es más comprobable 1132 00:50:38,429 --> 00:50:40,510 debe formar parte de los datos del usuario 1133 00:50:40,510 --> 00:50:42,409 no me puedes hacer eso, porque cada vez que 1134 00:50:42,409 --> 00:50:43,789 quiera ver un 1135 00:50:43,789 --> 00:50:45,670 un correo 1136 00:50:45,670 --> 00:50:48,369 cada vez que quiera ver un teléfono, tengo que 1137 00:50:48,369 --> 00:50:50,610 buscar en un documento 1138 00:50:50,610 --> 00:50:52,010 tengo que buscar ahí 1139 00:50:52,010 --> 00:50:54,730 donde pueda haber 6 millones de registros 1140 00:50:54,730 --> 00:50:56,449 es una locura 1141 00:50:56,449 --> 00:50:57,449 claro, bueno 1142 00:50:57,449 --> 00:50:59,630 en principio habíamos 1143 00:50:59,630 --> 00:51:01,489 pensado en esa opción 1144 00:51:01,489 --> 00:51:02,309 pero 1145 00:51:02,309 --> 00:51:04,110 no, no, solo 1146 00:51:04,110 --> 00:51:06,510 si, si, perfecto 1147 00:51:06,510 --> 00:51:09,789 vale, vale, perfecto 1148 00:51:09,789 --> 00:51:09,949 vale 1149 00:51:09,949 --> 00:51:13,849 y esta ya 1150 00:51:13,849 --> 00:51:15,369 es que no tiene mucho sentido 1151 00:51:15,369 --> 00:51:16,289 porque si no me has 1152 00:51:16,289 --> 00:51:18,769 contestado a cómo se despliegue 1153 00:51:18,769 --> 00:51:21,570 la parte web, lo que estoy entendiendo 1154 00:51:21,570 --> 00:51:23,190 es que como no está 1155 00:51:23,190 --> 00:51:25,710 la parte web no está desplegada a la aplicación 1156 00:51:25,710 --> 00:51:27,429 lo que entiendo es que la parte web 1157 00:51:27,429 --> 00:51:28,630 lo único que está haciendo es 1158 00:51:28,630 --> 00:51:35,610 Ahí lo que estáis montando es un AJAX que está aplicando contra el donde esté ubicado el servidor de la aplicación. 1159 00:51:35,690 --> 00:51:36,610 Un Fetch, sí. 1160 00:51:36,909 --> 00:51:37,710 Un AJAX. 1161 00:51:37,710 --> 00:51:44,869 Sí, la página web simplemente es para que las personas tengan la opción de búsqueda desde la web 1162 00:51:44,869 --> 00:51:46,769 y solo hace con un Fetch y un AJAX. 1163 00:51:46,769 --> 00:51:49,969 Un AJAX, que hace una query a... 1164 00:51:49,969 --> 00:51:53,710 Al servidor para poder hacer la petición, correcto. 1165 00:51:53,730 --> 00:51:57,679 Me paro, ya está. 1166 00:51:58,139 --> 00:51:58,579 Vale, vale. 1167 00:51:58,840 --> 00:51:59,059 Gracias. 1168 00:51:59,280 --> 00:52:00,820 No sé si hay alguna duda o algo más. 1169 00:52:00,960 --> 00:52:05,340 vale 1170 00:52:05,340 --> 00:52:09,269 vale, muchas gracias 1171 00:52:09,269 --> 00:52:19,679 eso es lo que yo digo 1172 00:52:19,679 --> 00:52:20,960 que uno hace cosas buenas 1173 00:52:20,960 --> 00:52:23,179 y luego se lo cagan por todo 1174 00:52:23,179 --> 00:52:25,219 porque por ejemplo 1175 00:52:25,219 --> 00:52:28,059 si tú piensas en David