Pagina para detallar los problemas que voy teniendo con la aplicacion. Estos problemas pueden ser bugs, smalls fixes, logical errors or critical errors (este ultimo deberia ser de gran prioridad para resolverlo e implicaria el no funcionamiento de la aplicacion). Description: small description del problema que existe y, que tan grave es. Aca buscamos establecer de que manera el error afecta y/o como se encontro.
**Details: **parte mas detallada, aca buscamos establecer las funciones que forman parte del problema, el flujo que se debe seguir para dar con el problema.
La logica detras de la auto categorizacion de cada gasto en la aplicacion es un dessastre, codigo que a veces es redundante y termina en no entenderse como funciona correctamente o, buscar el problema entre muchos mini desastres. basicamente lo vuelve algo muy molesto.
apps/bot/handlers.py → handle_message → llamamos a la funcion para generar una categoria al gasto →
ExpenseCategorizer.suggest(description) → Desde el objeto ExpenseCategorizer utilizamos su metodo para generar una sugerencia de categoria →
**
#1 Algo que estoy viendo y se repite mucho: se intenta normalizar texto de forma repetida, inclusive el texto que tenemos guardado lo normalizamos (????
Explicacion: Esto sucede porque en la bbdd guardamos el texto original para una auditoria sincera, mostrarle al usuario exactamente que escribio y no alterar su propio texto (mas transpariencia).
Agregar 1 columna en la base de datos donde guardamos el texto ya normalizado
#2 SOLUCIONADO Corregi logica en funcion categorizer.py > _check_user_history donde tenemos una comparativa entre los gastos anteriores del usuario para realiazr la asignacion de categoria. Esta comparativa se realizaba solo si el match entre el gasto anterior y el actual era mayor al 0.5 (50%) pero, al guardarse el match para la siguiente comparacion, este se guardaba con un numero magico 0.9, sin razon aparente.
#2 Solucion: Cambie el numero con el que se compara entre si, ahora es el numero que se obtiene comparando las palabras principales actuales con las pasadas, mas realista y sincero.
#3 Teniamos nuevamente normalizacion de keywords ya guardadas en la base de datos, esto si era reiterativo porque no existia razon alguna para hacerlo.
#3 solucion: en el serializer de la api normalice las keywords que se guardan en la bbdd para evitar normalizarlas en la busqueda.
#4 Las categorias globales con (default = True) no existen como tales, pero, en la logica de _get_keyword_map no se distinguia eso porque de todas formas hace una fallback al diccionario de categorias y keywords defaults, por lo que se tapaba esa falla de logica.
#4 Solucion: Solucion temporaria, elimine la busqueda global de Categorias con default = True porque no tenia sentido alguno.