Code Monkey home page Code Monkey logo

mboehao's Introduction

Mbo´ehao

Trabajo para relevar lista de funcionalidades que puedan ser reutilizadas en distintos proyectos Android.

Que es Mbo´ehao?

Mbo`ehao, que en guaraní significa colegio, es un proyecto para realizar un relevamiento de la lista de pantallas y tecnologías de las aplicaciones Android, con el objetivo de identificar funcionalidades que pueda ser comunes a las aplicaciones Android, y puedan ser reutilizadas en otros proyectos.

Lista de funcionalidades que se pretenden mostrar en el proyecto

  • Login vía API Rest
  • Selección de SERVIDOR antes del Login
  • Login con JWT
  • Menu "hamburguer" lateral
  • Progress bar:
    • Carga de contenido en activity
    • Carga de una página web dentro de un webview
  • Fabric/Crashlytics
  • Fabric en modo release
  • Cambio de contraseña modal con medida de fuerza de la contraseña
  • Pantalla EULA (aceptar licencia)
  • Pantalla modal con advertencia para medidas de seguridad
  • Gráfico MPAndroidChart
  • Compartir una imagen captura de sección de un activity (panel)
  • Ejecución de tareas periódicas
  • Uso de bases de datos SQLite con pattern tipo Service de Spring
    • Copia mediante easter-egg del archivo de la base de datos
  • Uso de librería propia (mboehaolib) compartida como módulo Gradle y publicación a artifactory
  • Gamification (puntos y medallas)
  • Notificaciones tipo cortina superior deslizante (Crouton)
  • Manejo de notificaciones dentro de la propia APP
  • Integración con Notification Server
  • Display screen/About
  • Modal con información de ayuda
  • Noticias periódicas vía API (Parse server, pero generalizable)
  • Recycler / Card view
  • Firebird Analytics
  • Lista seleccionable (ListDialog)
  • Filtro TimeLine
  • SQLite para guardar datos localmente
  • Extracción de datos desde Menú logueado y deslogueado con combinación de teclas
  • Manejo de pestañas o tabs
  • Listado con agrupación por proyecto de formularios y documentos
  • Manejo de atributos en el header para ser multitenant
  • Custom Share a redes sociales con conteo de estadísticas
  • Buzón de entrada de tareas asignadas

Funcionalidades proveídas por el proyecto hasta el momento

Se listan a continuación las funcionalidades básicas que ya pueden ser vistas en el repositorio:

  • Login vía API Rest
  • Login con JWT
  • Almacenamiento en MBAAS
  • Logs Remotos vía API
  • Menu "hamburguer" lateral
  • Progress bar:
    • Carga de contenido en activity
    • Carga de una página web dentro de un webview
  • Fabric/Crashlytics
  • Cambio de contraseña modal con medida de fuerza de la contraseña
  • Pantalla EULA (aceptar licencia)
  • Pantalla modal con advertencia para medidas de seguridad
  • Gráfico MPAndroidChart
  • Compartir una imagen captura de sección de un activity (panel)
  • Ejecución de tareas periódicas
  • Uso de librería propia (mboehaolib) compartida como módulo Gradle
  • Notificaciones tipo cortina superior deslizante (Crouton)
  • Manejo de notificaciones dentro de la propia APP
  • Integración con Push Notification Server(Firebase)
  • Display screen/About
  • Noticias periódicas vía API (Parse server, pero generalizable)
  • Firebase Analytics
  • Uso del PreferencesActvity para configuraciones minimas de la APP.

SonarRunner Tests

Mbo`ehao cuenta con un archivo de configuracion para poder realizar analisis con el sonar de ser necesarios. Para dicho proceso se puede seguir la siguiente guide

Code Style

El proyecto siguee las convenciones del Android Code Style Guidelines.

MediaWiki

Este proyecto tiene una documentacion via Wiki, donde se va detallando con mayor precision las funcionalidades e implementaciones, y algunas referencias más que se pueden observar al llevar a cabo el proyecto. Wiki Project.

JWT Login

El login por JWT utiliza la libreria Volley de Android para REST. Utilizamos la funcion JSONObjectRequest, esperamos un archivo JSON como respuesta del servidor segun el funcionamiento de JWT.

Este utiliza 5 parametros para el caso de un request de tipo POST detallados a continuacion:

  • int method: Define el metodo del request (Utilizamos el metodo "Request.Method.POST").
  • String url: URL a la que se va a hacer la solicitud.
  • JSONObject jsonRequest: JSON que se enviara a la URL definida anteriormente.
  • Response.Listener listener: Variable donde se recibira la respuesta del servidor.
  • Response.ErrorListener errorListener: Variable donde se guarda el error en caso de existir.

Para cambiar a cualquier login JWT, se deben cambiar algunos parametros en loginActivity.Java:

  • url: Esta debe apuntar al servidor que se desea consultar. Ubicado en app/src/main/res/values/strings.xml como jwt_URL.
  • jsonRequest: Debe contener los datos necesarios para el servidor. En este caso se utilizaron solo 2 campos, username y password.
  • listener y errorListener: Aca se definen las acciones a tomar ya sea esperando una respuesta positiva, negativa o un error.

mboehao's People

Contributors

joaquinolivera avatar aleei92 avatar alefq avatar alemiranda95 avatar ngonsoto avatar gonzalogaleano avatar marcev95 avatar micablo avatar

Watchers

James Cloos 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.