codeandoxalapa / mapmap

Aplicación móvil que te permite mapear rutas y generar GTFS.
https://mapaton.org
MIT License
23 stars 11 forks source link

Duplicación del Id (Ruta 1000X) de Ruta #2

Open jmbecerril opened 7 years ago

jmbecerril commented 7 years ago

Al almacenar una ruta que fue mapeada la aplicación genera un ID para la ruta (Ruta 1000X) comenzando desde 1 (Ruta 10001) pero al almacenar más rutas mapeadas el mismo ID (Ruta 10001) es asignado a otras rutas, lo que nos lleva a la duplicación del ID.

cesariux23 commented 7 years ago

yo creo que el id no debería ser consecutivo, tal vez generarlo a partir del timestamp de cuando se genera.

jmbecerril commented 7 years ago

Otro de los objetivos de ese ID además de ser el identificador único de la ruta en la aplicación es ser un indicador visual para los usuarios, por ejemplo en la vista de "recorridos" se despliega la lista de rutas que han sido mapeadas utilizando Ruta1000X así que el usuario podría ver el contador de rutas que ha mapeado .. Creo que podríamos buscar un ID todavía mas amigable y que no se repita, por ejemplo utilizando el timestamp que sugieres

categulario commented 7 years ago

Por qué no usar una versión compacta de un UNIQUE ID? o por ejemplo algo como http://hashids.org/

cesariux23 commented 7 years ago

El id tal vez no debería ser visualizado por el usuario, y manejar un contador aparte

oxcar commented 1 year ago

Este ID se genera en la App y se envía al servidor. La duplicación ocurre cuando un usuario desinstala la aplicación y la vuelve a instalar. Al hacerlo se pierden los datos de la app en el teléfono y el contador empieza desde 1 de nuevo.

Para el servidor no es mucho problema, ya que el ID interno de las rutas es diferente. Pero efectivamente, en el listado de rutas, al usuario le aparece que hay dos rutas con el mismo nombre, aunque en verdad son dos rutas diferentes.

Ayuda un poco que los campos descripción y notas son diferentes.

Screenshot 2023-01-17 at 14 25 02 Screenshot 2023-01-17 at 14 25 10

Idealmente este nombre de ruta, que es un identificador de texto con un numero en serie, no es necesario generarlo en la App, y debería ser responsabilidad del server generarlo, y asegurarse de que no se repiten.