Prueba técnica Flutter

Instrucciones

Desarrolla las funcionalidades descritas en uno de los siguientes niveles, el mayor que tus habilidades permitan.

Requisitos generales:

  • En caso de implementar supabase, es necesario compartir las credenciales de la cuenta con acceso al proyecto de supabase.
  • El código desarrollado deberá utilizar git como su administrador de versiones (de preferencia publicado en github), se deberá utilizar el estándar de la industria para agregar y modificar funcionalidades.
  • Se deberá entregar el código fuente y este deberá de poder ser reproducido en otro ambiente.
  • Se deberá entregar documentación de lo trabajado en supabase y en flutter.
  • Se comenta correctamente dentro del código.
  • El tiempo de entrega es de hasta 2 semanas posteriores a recibir esta prueba.

Nota: Puedes encontrar el enlace de entrega al final de esta página.

Nivel 1:

  • Se implementa el diseño de Orders y Login correctamente con flutter, se usan valores estáticos y no existe una conexión a un backend.
  • En el login se usan toasts para mostrar el estatus del intento de login previo a la redirección a la vista de “Orders”.

Nivel 2:

  • Se crea una instancia de Supabase con una tabla de “Orders” (ver figma) de la cual se obtiene la información que es mostrada en el cliente, ya sea por llamada a la API rest de supabase o por conexión directa a la base de datos.
  • Se implementa el diseño de Orders y Login correctamente con Flutter, se usan valores obtenidos de la llamada a la base de datos.
  • Se implementa autenticación de supabase con correo.
  • Se las imágenes son almacenadas en supabase (bucket público).
  • En “Orders” se implementa el filtrado por orden en cada columna, filtrado por estatus y paginación.
  • En el login se usan toasts para mostrar el estatus del intento de login previo a la redirección a la vista de “Orders”

Nivel 3:

  • Se crea una instancia de Supabase con la tabla de “Orders” de las cuales se obtiene la información que es mostrada en el cliente, ya sea por llamada a la API rest de supabase o por conexión directa a la base de datos.
  • Se implementa el diseño de Orders y Login correctamente con Flutter, se usan valores obtenidos de la llamada a la base de datos.
  • En el login se implementa un toast para mostrar el resultado al login previo a la redirección a la vista de “Orders”.
  • Se implementa autenticación de supabase con al menos 2 proveedores (correo, Google, Apple, Facebook).
  • Se establecen políticas de RLS correctas para que solo el usuario ingresado pueda acceder a sus órdenes (tomar en cuenta la id del dueño de la orden, no del “customer”).
  • En “Orders” se implementa el filtrado por orden en cada columna, filtrado por estatus y paginación.
  • Todas las pantallas se adaptan a distintos tamaños de dispositivos.
  • Se implementa manejo de estados.

Al finalizar no olvides: