Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: orden de clases, widgets y nuevas funciones #48

Merged
merged 196 commits into from
Jun 28, 2024

Conversation

mapacheverdugo
Copy link
Member

@mapacheverdugo mapacheverdugo commented Mar 23, 2024

Descripción

Agregado

  • Apodo para personalizar la aplicación.
  • Se agrega onboarding (con configuración de apodo, solicitud de permiso de notificaciones y bienvenida a la app).
  • Lista de estudiantes al resumen de asignatura.
  • Vista previa de estudiantes y profesores.
  • Se agrega modal de vista previa de la asignatura desde horario (al mantener presionado un bloque).
  • Se agrega navegación hacia la asignatura desde el horario al presionar un bloque.
  • Botón para limpiar las notas en la calculadora.
  • Sección de Acerca de la App en modo depuración.

Cambios

  • Se actualizaron algunas dependencias.
  • Se ordenan las clases y widgets de la app.
  • Se optimiza el código y la aplicación en general.
  • Se separan clases en formato de repositorios, servicios y controladores.
  • Se mejora la documentación de algunos archivos y métodos.
  • Ahora se cargan las noticias de la página noticias.utem.cl.
  • Se utiliza navegación de flutter nativa (Usando Navigator en lugar de rutas nombradas).

Eliminado

  • Se elimina pestaña de estudiantes del detalle de asignatura (a favor del botón de lista de estudiantes en el resumen).
  • Modal de Permitir Notificaciones a favor de modal nativa del sistema. Solo se editará el mensaje de notificaciones, ya que es redundante el botón de permitir y cancelar.

Tipo de cambio

  • Corrección de error.
  • Nueva funcionalidad .
  • Breaking change (cambio que puede romper la aplicación).
  • Documentación.
  • Mejora de codigo existente (performance y/o estilo del codigo y/o otra mejora)

Checklist:

  • He hecho una revisión de mi propio codigo.
  • Hice pruebas en un dispositivo Android real.
  • Hice pruebas en un dispositivo Android emulador.
  • Hice pruebas en un dispositivo iOS real.
  • Hice pruebas en un dispositivo iOS simulador.
  • Mis cambios no generan nuevos lint Problems.
  • Agregué mis cambios al CHANGELOG.md.
  • Este pull request contiene <1000 lineas de codigo (LOC).

Recursos

Añade cualquier documentación que facilite la comprensión de la solución.

Im-Fran and others added 30 commits November 8, 2023 11:50
* Se han movido algunos archivos a sus carpetas correspondientes para tener un mejor orden.
* Se ha reducido el tamaño de asignatura notas tab al mover distintas secciones de la clase a sus propios widgets como las notas de presentacion y examen, ademas de la nota final.
Había un error que al intentar refrescar la token y las credenciales son nulas no pasa nada. Ahora el usuario es redirigido al login informando del error.
* Se han actualizado varias dependencias para soportar la última version de flutter
* Se ha cambiado charts_flutter (descontinuado) a community_charts_flutter (una version de la comunidad con arreglos y que sigue en desarrollo activo)
* Se actualizó en android/build.gradle la version sdk de 33 a 34.

Signed-off-by: Francisco Solis <[email protected]>
* se ha separado el acerca de en una carpeta propia
* se ha separado en otros widgets acerca del club y acerca de los desarrolladores.

Signed-off-by: Francisco Solis <[email protected]>
* Reducido login_screen
* Reducido acerca de dialog.
* Se necesita revisar otros widgets que modifique (creo que utilice stateless widgets para algunos que debieron ser stateful)

Signed-off-by: Francisco Solis <[email protected]>
…dgets.

* Se ha reducido login_screen a distintos widgets
* Se ha reducido acerca_dialog a distintos widgets
* Se han reparado algunos widgets que configure como stateless siendo stateful.

Signed-off-by: Francisco Solis <[email protected]>
* Se redujo la lista de asignaturas a distintos widgets
* Se mejoró la pantalla de usuario.
* Se arreglaron algunos widgets que importaban archivos relativos en lugar de usar el package:mi_utem

Signed-off-by: Francisco Solis <[email protected]>
* Se ha actualizado a nuestra API de noticias
* Se han mejorado y reducido los widgets de noticias
* Se ha cambiado el servicio de noticias para usar GetConnect

Signed-off-by: Francisco Solis <[email protected]>
* Se redujo la calculadora de notas a varios widgets

Signed-off-by: Francisco Solis <[email protected]>
…vicios.

* Se ordenaron muchas clases y widgets (ya no se cuales eran xD)
* Se cambió a un nuevo sistema de servicios usando GetIt que usa servicios bajo demanda de manera "floja" (lazy). De esta forma se mejora el rendimiento.
* Se cambia de dio a http como se recomienda en flutter.dev
* Se agrega constante de "secureStorage" para un fácil acceso al storage encriptado.
* Se renombra http_client a auth_client
* Se repara error en AuthClient
* Ahora la lista de notas funciona perfectamente
* Se cambia el dsn de sentry para la cuenta del club
* Se actualizan algunas dependencias y se agrega crypto
* Se agrega caché a las solicitudes web (en proceso)

Signed-off-by: Francisco Solis <[email protected]>
* Se renombra 2 archivos
* se agrega configuración de printer a logger
* se arregla log de error

Signed-off-by: Francisco Solis <[email protected]>
* Se ha movido a http_clients
* Se ha creado interceptores en lugar de un cliente nuevo
* Trabajando en CachedClient
* Se ha agregado revisión de conexión a la red en splash screen.
* Se agregó icono de carga en splash
* Se movió banners a un field con estado en main_screen

Signed-off-by: Francisco Solis <[email protected]>
* Se ha migrado a los snackbars nativos (en progreso)
* Se finalizó el horario "nuevo", ahora carga más rápido, tiene un botón para forzar la actualización del horario y se muestra como carga cuando se comparte.
* Se implementa un caché para agilizar la carga del horario.
* Se finalizó la lista de asignaturas, ahora tarda menos en cargar.
* Se mejora el tiempo de carga en splash screen.
* Trabajando en arreglar la calculadoraπ

Signed-off-by: Francisco Solis <[email protected]>
* Se arregla calculadora de notas
* Se elimina cached client (aún falta crear un cliente nuevo)
* Se agrega modelo de navigation_tab.dart
* Se repara pantalla de horario
* Se repara pantallas de asignatura (y separa por categoría)
* Se elimina algo de código innecesario
* Se agrega string_utils.dart
* Se mejora el soporte para la vista horizontal del dispositivo
* Se agrega un paquete para listas dinámicas (que actualizan vistas al cambiarse)
* Otros arreglos de calidad de vida

Signed-off-by: Francisco Solis <[email protected]>
* Se ordenan algunos modelos
* Se repara carga de notas desde asignatura
* Se repara string_utils
* Se mueven evaluación y grades a su propia carpeta
* Se mueve asignatura a la carpeta asignaturas
* Se finaliza la migración a snackbars nativos
* Se continúa la migración a navegación nativa.
* Arreglos generales

Signed-off-by: Francisco Solis <[email protected]>
* Se repara permisos de ingreso
* Se eliminan modelos antiguos de rut y usuario

Signed-off-by: Francisco Solis <[email protected]>
Ahora podemos tener preferencias en memoria o locales.

Las preferencias en memoria usa SharedPreferences que es rápido y para valores pequeños. Mientras que en local se guardan en el secureStorage.

**Nota:** Solo utilizar en memoria para valores que no importa si son perdidos, ya que es posible que algún valor en memoria sea perdido.

Signed-off-by: Francisco Solis <[email protected]>
Se agrega un modo offline para permitir el uso de la app sin conexión.

Esto funciona de la siguiente manera: Al iniciar la app en la pantalla de splash se revisa si hay conexión a nuestra api, en caso de no haber se notifica al usuario del modo offline.

Cada solicitud realizada devolverá el caché, y si un usuario intenta forzar la actualización de un componente devuelve el error de estar en modo offline.

Además, cuando se fuerza un refresco de todas formas se revisa si la conexión está de vuelta para devolver datos actualizados.

Signed-off-by: Francisco Solis <[email protected]>
…na vista cómoda en modo landscape (orientación horizontal)

Signed-off-by: Francisco Solis <[email protected]>
* Se repara y mejora el horario en modo landscape (ahora no sale de sus márgenes)
* Se centra automáticamente el horario al abrirlo

Signed-off-by: Francisco Solis <[email protected]>
Signed-off-by: Francisco Solis <[email protected]>
github-actions bot and others added 2 commits June 13, 2024 17:23
* Se agrega SafeArea a varias vistas de la app para permitir el uso del dispositivo horizontal
* Se repara y mejora el uso de buildCacheOptions en utils/http/functions.dart
* Se repara OfflineModeInterceptor#onRequest

Signed-off-by: Francisco Solis <[email protected]>
github-actions bot and others added 2 commits June 13, 2024 18:07
* Se agrega método para enviar notificaciones de anuncios.
* Se repara error en notificaciones.
* Se repara error al refrescar datos en segundo plano.

Signed-off-by: Francisco Solis <[email protected]>
github-actions bot and others added 2 commits June 25, 2024 04:55
* Se remueven IIP (información de identificación personal)
* Se repara configuración de firebase

Signed-off-by: Francisco Solis <[email protected]>
@Im-Fran Im-Fran deployed to development June 26, 2024 02:45 — with GitHub Actions Active
@Im-Fran Im-Fran changed the title feat: orden de clases y widgets feat: orden de clases, widgets y nuevas funciones Jun 27, 2024
@Im-Fran Im-Fran merged commit 2e43707 into dev Jun 28, 2024
@Im-Fran Im-Fran deleted the feat/orden-de-clases-y-widgets branch June 28, 2024 19:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants