Instrucciones
Práctica final sobre temática el COVID consistente en una app para iPhone tipo catálogo para visualización vertical .
1 - La app tendrá una pantalla de lanzamiento como presentación.
2 - Pantalla de simulación de identificación con notificaciones "alert" en caso de error
3 - Mostrará un catálogos de ítems a modo de tabla del modelo, el ejemplo de esta convocatoria son poblaciones de España y sus restricciones COVID.
4 - Al seleccionar un elemento de alguna de las tablas se accederá a diversas vistas del ítem a seleccionar con tabs (Descripción, ficha informativa, web, opiniones, ubicación en mapa, ..
.).
5 - Se usarán combinadores como Navigation, TabBar, TableView y PageView, SplitView . La estructura de vistas y segues será a elección de desarrollador.
6 - Se concluye con una vista de ayuda indicando la autoría del programa.
7 - Extra: Permitir una búsqueda sobre los ítems.
8 - Extra: Cada ítem podrá ser seleccionado como favorito para que la lista del modelo tenga la opción de mostrar sólo los ítems seleccionados como tales.
La app debe hacer autolayout para los distintos tipos de resoluciones de pantallas para dispositivos compatibles con iOS 12 y superiores de tal modo que el tamaño y la ubicación de las subvistas se ajuste a las dimensiones de los dispositivos.
El aspecto general del proyecto debe estar cuidado en cuanto a la pantalla de inicio, iconos adecuados para las distintas versiones, elección de colores y ubicación de vistas (inspiraciones 1, 2).
La app debe tener un número suficiente de ítems para que pueda ser interesante usarla, estos ítems deben estar almacenados de forma externa a la app porque el modelo dentro del código no es una buena decisión de diseño, así que los datos deberían estar almacenados en una base de datos que recibiría actualizaciones mediante datos serializados desde Internet mediante una solicitud get que obtenga un json. Este trabajo queda como opción la implementación en base de datos o archivo json en local o bien en archivo json en la nube o base de datos en la nube como firebase (mejor opción).
Este tipo de archivo se podría obtener de forma automátia mediante JSONGenerator o a mano mediante JSONEditorOnline. Este archivo JSON se servirá desde un servicio web gratuito de los muchos que hay como Firebase que permite la notificación automática push de modificaciones en el modelo.
Se acepta cualquier otro proyecto que el alumno considere de tamaño equivalente y que incorpore funcionalidades vistas y nuevas, por ejemplo, poder añadir ítems a la colección desde la propia app, un botón recargar que permita consultar a la web la existencia de nuevos ítems, que los JSON descargados se almacenen en Sandbox para que si no es necesario, no proceda a la descarga, que se compruebe si los ítems descargados ya existen para no duplicarlos y ser añadidos incrementalmente si no existieran. También se tendrá en cuenta la definición de un modelo propio y la utilización de otras subvistas distintas a las explicadas.
http://myjson.com/
http://www.json-generator.com/
http://jsonviewer.stack.hu/
http://jsonviewer.stack.hu/#http://www.json-generator.com/api/json/get/chCAfOFwRK?indent=2
https://www.jsoneditoronline.org/
Puntos a valorar:
1 - Modelo propio con suficientes ítems
2 - App con autolayout y constraints para distintos tamaños de pantalla de iPhone
3 - Cuestiones de diseño y aspecto estético
4 - Complejidad de los Storyboard: Vistas y segues
5 - Nuevos ViewController y Segues: la app puede tener distintas vistas objetos y funcionalidades
6 - Uso de subvistas no explicadas y librerías (sonido, vídeo, multigesto) en el temario
7 - Acceso externo al modelo de datos
Funcionalidades extra
Entrega:
1 - Comprimido con el proyecto fuente.
2 - PDF con una descripción de funcionalidades, diseño, implementación y autocrítica respondiendo a qué se ha hecho en cada punto a valorar de la lista anterior con puntuación estimada según objetivos conseguidos y esfuerzo dedicado.
Plazo de Entrega: No definido