Proyecto del curso de Kotlin de Naranja X proporcionado por BEDU. El desarrollo de este proyecto transcurre desde el módulo 2 hasta el módulo 3 implementando los conceptos aprendidos durante el curso. Se enfocó en la experiencia amena con el usuario y la personalización de la app.
Documentación | Recursos de BEDU y Referencias
- López, Ricardo @RicardoLopez9908
- Domínguez, Agustín Marcelo @AgustinMDominguez
- Vispo, Valentina Solange @shirosweets
Principalmente el método de trabajo que se utilizó fue por medio del pair-programming a través de la plataforma de Discord para la comunicación y compartir código en pantalla.
Como el IDE de Android Studio no permite tener una herramienta similar a Live Share de Visual Studio Code los commits no tienen como co-autor ya que nos olvidamos de realizarlo en todos los commits.
Hacer click en la imagen para reproducirlo
- Uso de Material Design para los componentes
- Nombre de las variables autodocumentadas
- Librerías externas usadas:
- Picasso
para el fetcheo de imágenes a través de url
- SafeArgs
del recyclerView al Detail
- Picasso
- Transiciones entre los fragmentos y views
- Transiciones de pop
- Implementadas en el Navigation
- Toggle Password
- Types para los inputs de usuario
password | email | phone | text
- ScrollView en Register y Login para hacerlo responsivo en modo Portrait
- RecyclerView para los Productos
presentados como CardView
- Build Variants
- Por tema (dark/light)
- Por release/debug
- Modularización de código
- Implementación de tipos segura (no "!!")
- Implementación de estilos por categoría
Hacer click en la imagen para reproducirlo
-
Snackbar al no ingresar los datos en el Login y el Register
-
Marcado de errores individuales al iniciar sesión o registrarse
campo incompleto
contraseña menor a 8 caracteres
-
Consumo de API a partir de metodos POST y GET, para verificar el inicio de sesión (usando Corrutinas y Retrofit 2)
-
Manejo de SharedPreferences para acceso rapido de usuario registrado
-
Consumo de API a partir de metodo GET, para la carga de productos en pantalla de inicio (usando Corrutinas y Retrofit 2)
-
Actualizacion real de la ubicación a partir de GPS (se almacenan hasta 3 ubicaciones con SharedPreferences)
-
Posibilidad de cerrar sesión
-
Icono personalizado para la app
-
Lista de productos almacenados y modificados en base de datos (usando Realm)
-
Añadir productos al carrito
-
Realizar pagos
-
Notificación con redirección al comprar un producto
-
Test Unitarios en JVM sin dependencia del framework de Android
-
Test Unitarios con uso del framework de Android (no instrumentados)
-
Cambio de idiomas según preferencias del usuario
-
Switch para cambio de temas, disponible para usuarios registrados
Documentación | Recursos de BEDU y Referencias
Decisiones de implementación | Decisiones de diseño | Extras