Contexto

Se dispone de un servicio web que devuelve un árbol de destinos. La url del servicio es la siguiente:

https://api.stay-app.com/v1/establishments/destinations?apikey=4ef1c773b26fea71a6638c948dab3bb1


Este servicio funciona mediante el método GET, no tiene autenticación, y recibe un parámetro apikey que identifica la aplicación a la que pertenece el árbol de destinos.

El servicio devuelve un JSON con tres campos:

Campo Tipo Descripción
id String Identificador único.
childs Array Subnodos. Puede haber varios niveles. por ejemplo: España → Andalucía → Almería
destinationData.translatableName Object Nombres localizados. (usar el inglés como por defecto)
destinationData.photographs String[] IDs de imágenes.
destinationData.coordinates Object { latitude: number, longitude: number }.
fatherDestination String ID del padre.
isTop Boolean Destino destacado.
isFinalNode ?Boolean Nodo hoja.
numEstablishments ?Integer Número de establecimientos asociados a ese nodo o a sus subnodos

Objetivo

Crear una app en React Native + TypeScript para Android e iOS que:

  1. Consumir el endpoint y cargar el árbol de destinos.
  2. Mostrar los nodos en un listado.
  3. Visualizar nodos anidados ya sea directamente en el listado o mediante navegación, celdas desplegables o cualquier otra solución elegida por el candidato.
  4. Como punto adicional (no obligatorio), al seleccionar un nodo final se mostrará una nueva pantalla, muy sencilla , muy sencilla, que muestre el nombre del destino.

Requisitos