Giter Site home page Giter Site logo

josejacin / josejacin-keepcoding-ivedicion-keepcodingmasterbootcamp-mbaas-practica Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 2.22 MB

KeepCoding - IV Edición - KEEPCODING MASTER BOOTCAMP - Mobile Backend As A Service (MBaas) - Práctica

Swift 99.25% Ruby 0.75%
master bootcamp keepcoding mbaas

josejacin-keepcoding-ivedicion-keepcodingmasterbootcamp-mbaas-practica's Introduction

JoseJacin-KeepCoding-IVEdicion-KeepcodingMasterBootcamp-MBaaS-Practica

Funcionalidad Requerida

Autor

  • Estado por defecto de publicación de los Post a NO: Los Posts se crean con el estado de publicación a No
  • Valoración / Nº de lecturas de los Post: Se ha implementado la parte de las valoraciones en el lado del cliente. Falta por implementar:
    • Calcular la media de valoración en BackEnd y persistir esta información en Firebase
    • Implementar la parte del número de lecturas de cada Post
  • Marcar como publicado: Se ha implementado la funcionalidad de publicar un Post
  • Validaciones de los datos en el BackEnd: Se encuentra pendiente de implementar, ya que en Firebase es algo más complicado que en Azure
  • Publicar en BackEnd con un Job: Falta por implementar que la publicación se realice en "diferido" desde el BackEnd y que desde el cliente se marque como pendiente de publicar
  • Consulta de los Post publicados, sin publicar, valoración de cada noticia: Falta por implementar

Lector

  • Tabla con los Post publicados ordenados de más reciente a más antiguo: Se ha realizado, aunque ha sido en la parte cliente. Queda pendiente de implementarlo en en BackEnd
  • El Lector puede acceder al detalle de un Post: Se ha implementado correctamente
  • En la lista de Post publicados, se debe mostrar la mínima información. Título, imagen reducida y autor: Se ha implementado correctamente, además se ha añadido un indicador con la valoración recibida en cada Post

Estadísticas

  • Reportar toda la actividad del usuario: Se ha implementado correctamente
  • Notificaciones Push al autor cada vez que un lector valora un Post: Pendiente de implementar esta información

Varios

Thumbnails

Para abordar el requisito que en la vista principal debe descargarse la mínima información, se ha realizado la siguiente implemtación

  • Mediante un proceso en Firebase se genera una imagen (thumbnail) con el mismo nombre que la original pero con el prefijo "thumb_". Esta imagen es de pequeña calidad para que la carga inicial sea más rápida.
  • No se generan para todas las imagenes ya que por limitaciones de la capa gratuita de Firebase solo se pueden tratar ficheros que no ocupen demasiado.
  • Se ha establecido un "algoritmo" (lo que se me ha ocurrido viendo las horas que son) para que:  
    • Compruebe si existe o no un thumbail, buscando una imagen con el mismo nombre pero que contenga además el prefijo "thumb_". En caso de existir, lo descarga en segundo plano
    • Si no existe el thumbnail, se descarga la imagen original.
  • Para comprobar esto correctamente, lo que he hecho ha sido crear 4 posts:
  • 2 con un pantallazo de la pantalla del dispositivo
  • 2 fotos tomadas con la cámara o de la galería (pero que sean fotos)

Referencias

  • En cuanto a la implementación de las valoraciones, siguiendo las recomendaciones que se encuentran en la documentación de Firebase, se ha optado por añadir al documento de cada post, un subelemento ratings que se compone de un array con las siguientes claves [ user : valoración ].

josejacin-keepcoding-ivedicion-keepcodingmasterbootcamp-mbaas-practica's People

Contributors

josejacin avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.