Atributo | Valor |
---|---|
Tipo | Colaborativo |
Estrategia | Mob Programming |
Modo | Síncrono |
Dedicación | 35 horas |
Duración | 10 días |
- Iniciar en la programación con React Native
- Introducir el modelo de React Native de programación por componentes
- Introducir el desarrollo de interfaces para aplicaciones móviles con react native
- Deberán trabajar en equipo de manera colaborativa y aplicando la dinámica de mob programming para desarrollar una aplicación móvil que permita mostrar diferentes tipos de recetas de cocina (detalles en la sección de requerimientos funcionales).
- En la actividad de Github (commits) se deberá observar la participación de todos los participantes
- En cada commit se deben registrar todos los participantes activos (co-author commits)
- En los commits se debe observar a rotación de los participantes, es decir, quien hace el commit no es siempre la misma persona.
- Código fuente en este repositorio
- Archivo README.md actualizado
- El código debe incluir pruebas unitarias
- La puntuación obtenida por Codacy, CodeClimate o similar debe ser A o lo equivalente
- Se deben incluir los badges de los analizadores de código estáticos (codacy, codeclimate, etc.)
- La versión final de tu código deberá estar en la rama principal
- Número de commits como primer autor
- Número de commits como co-author
- Frecuencia de los commits (# de commits realizados en días diferentes)
- Tamaño de los commits (líneas de código agregadas)
- Javascript ó Typescript
- ESLint
- Jest
- Codacy, CodeClimate, CodeCov
La empresa Foo Corp necesita una App para poder visualizar las recetas de cocina de sus restaurantes. La App deberá cumplir con los siguientes requerimientos:
- Pantalla principal
- Listado con las recetas que están de moda (trending)
- Listado con las recetas más recientes
- Por cada receta se debe mostrar una foto del platillo de la receta y el nombre de la receta
- Pantalla detalle
- Foto del platillo de la receta
- Categoría de la receta (trending/recent)
- Nombre de la receta
- Porciones por receta (servings)
- Listado de ingredientes con nombre y cantidad
- Botón "me gusta" que servirá para etiquetar a las recetas favoritas
En la carpeta design se encuentra el diseño solicitado en formato PNG e Invision.
- Divide tu trabajo en pequeñas tareas
- Para cada pantalla identifica o clasifica los diferentes compones que se presentan
- Inicia programando los componentes individuales procurando que estos sean reutilizables
- Una vez que tienes listos los componentes integra las pantallas.
Por ejemplo la primer pantalla se puede subdividir en los siguientes 3 componentes:
- Search Bar. La barra que se encuentra en la parte superior
- List Item. Cada elemento que se muestra dentro de las listas
- Horizontal List. Lista scrollable horizontal que incluye las recetas dependiendo de la categoría.
Al ser reutilizables List Item
y Horizontal List
pueden servir tanto para trending como para recent, simplemente incluyendo propiedades que permitan indicar el alto del componente así como su contenido (lista de recetas).
- Base de datos
- Los datos (recetas) se tomarán de un archivo local en formato JSON
- Calidad
- Utilizar un estilo de código estandarizado (revisado por Eslint)
- Puntuación A obtenida en CodeClimate ó similares
- Ejecución
- Puede ejecutarse en Android y/o iOs
- Código fuente
- Orientado a Objetos
- Métodos pequeños
- Aplicar los principios SOLID
- Estructura tu pensamiento o forma de trabajo por componentes
- React Native
- Calidad del código