Contenido
Entorno de desarrollo ............................................................................................ 2
Acceso a la app ................................................................................................. 5
Inventario .......................................................................................................... 7
Sacar objetos .................................................................................................. 10
Herramientas para administrador ......................................................................... 13
Agregar, borrar y actualizar objetos del inventario ............................................... 14
Administrar usuarios ........................................................................................ 16
Registro de movimientos en el inventario ........................................................... 18
Resumen de movimientos en el inventario ......................................................... 21
Entorno de desarrollo
Para el desarrollo de esta aplicación se uso el programa llamado Unity
( https://unity.com/es ) y para ser más precisos su versión 2022.3.13f1. Si se esta
interesado en aprender más sobre este motor de desarrollo se puede usar el siguiente
Link.
Una vez instalado el programa este debe de tener instalado los módulos de Android y
opcionalmente los de iOS
Ahora que tenemos el motor de Unity se creo un proyecto nuevo el cual se llamó
InventorioApp para este proyecto.
Plan y Desarrollo
Una vez creado el proyecto empezamos a analizar las necesidades que se tenían que
cumplir para desarrollar la aplicación que se tenía planeada
Se tenia que tener varias funcionalidades como poder ingresar a la aplicación con un
código QR, que tuviera un control de inventario donde el administrador pueda
agregar, quitar y modificar objetos y que el usuario pudiera ver y sacar objetos. Para
esto se planeó lo siguiente:
Progreso
Acceso a la app
Primero empezamos creando la interfaz de inicio de sección donde se muestra el logo
de la aplicación y tiene un botón el cual habilita el escáner de códigos QR
Para poder hacer esta funcionalidad se usó el plugin llamado ZXing que esta
desarrollado para funcionar con Unity. Una vez que se da clic en el icono de escanear
se habilita la cámara del dispositivo y una interface que le permite al usuario
escanear códigos QR donde se debe de poner en el área roja el código QR y presionar
el botón de Scan para capturar la información y proceder a entrar al control de
inventario.
Una vez capturado un código QR se mostrará un panel de confirmación si es que se
desea abrir la aplicación con el nombre de usuario que se captura. Este panel se creo
de forma que se pueda usar en cualquier otra circunstancia donde se requiera
confirmar una acción.
El acceso de la aplicación se controla a través de una base de datos en firebase
donde se guardan los usuarios que tienen acceso a la aplicación si el usuario que se
capturo con el lector de QR se encuentra en esta lista entonces se le dará acceso de
caso contrario se le pedirá que se ponga en contacto con el administrador para le de
acceso
Inventario
Si tienes acceso a la aplicación cargara la pantalla donde se muestra el menú de
sacar cosas. Para esto se creo en varios pasos lo primero fue el poder mostrar la lista
de objetos que están en el inventario para ello se uso firebase para guardar la
información
Una vez guardados los datos se procedió a crear algunos objetos para poder
mostrarlos en pantalla y para esto se creo un contenedor que permite mostrar una
lista de objetos dinámicamente y se creo los objetos que se mostrarían en pantalla
estos siendo obtenidos desde firebase para mostrar su nombre y cantidad.
Dado que uno de los propósitos principales es el poder sacar objetos del inventario
se agregó un botón dentro de los objetos a mostrar donde el botón tiene un icono de
un carrito de tienda para expresar que se quiere sacar este objeto
Ya mostrados los datos pasamos a agregar otras funcionalidades como son la opción
de poder de hacer búsqueda de los objetos por nombre y para esto se agrego un
campo de entrada de texto en la parte superior de la aplicación.
Otra de las funcionalidades principales es de que al terminar de seleccionar los
objetos a sacar hubiera una forma de confirmar esta acción y para ello se agregó un
botón en la parte inferior de la pantalla el cual al presionar se confirmaría la acción de
sacar los objetos seleccionados
Dándonos como resultado final la pantalla principal del usuario común donde este
puede seleccionar y sacar objetos del inventario
Sacar objetos
Para sacar algo del inventario se procedió a darle la funcionalidad al botón del carrito
dentro de los objetos donde al dar clic en él se indicaría que usuario desea sacar este
objeto del inventario
Al hacer clic en este botón te preguntara cuantos objetos quieres sacar y para ello
usamos el panel anterior de confirmación solo agregando unos campos adicionales
como el campo principal donde puedes ingresar la cantidad deseada y los otros
botones adicionales para aumentar y disminuir la cantidad en 1
Al confirmar la cantidad se debía de mostrar alguna forma de visualizar que es lo que
se quiere sacar del inventario y para esto se modificó el objeto de la lista para que
mostrara la cantidad que se desea sacar con un texto para más visualidad
Para terminar de sacar las cosas se le dio la funcionalidad al botón del carrito que
esta en la parte inferior para que llamara un evento donde se indicaría que se desea
sacar los objetos del inventario.
Una vez presionado la aplicación llama al panel de confirmar y este te pregunta si es
correcto lo que vas a sacar haciendo un resumen de los objetos que previamente el
usuario selecciono
Una vez confirmado las cantidades se actualizan y se remueve el contador de
cuantos objetos se querían sacar del inventario dejando la vista actualizada y a su vez
actualizando esta información el firebase para que otros usuarios vean la nueva
información del inventario.
Herramientas para administrador
Dado que se deseaba que todas las funcionalidades se encontraran dentro de la
misma aplicación tanto para los usuarios como para los administradores de la
aplicación se creo la funcionalidad de que cuando alguien escaneara un QR que
tenga un nombre especifico, este habilitara todas las herramientas del administrador.
Para empezar, se agregaron otros botones en la pantalla del inventario
Estas le permiten al administrado modificar, agregar y borrar objetos del inventario
dejando la pantalla del inventario viéndose de la siguiente forma:
Agregar, borrar y actualizar objetos del inventario
El botón es el de editar que al hacer clic en él se pondrá verde indicando que el modo
editar este habilitado
Esto habilitará la edición de los objetos que al hacer clic en cualquier objeto te abrirá
este la pantalla para modificar objetos. Donde puedes editar el nombre, la cantidad y
el código o incluso borrar el objeto
El segundo botón es el de agregar objetos
Este habilitara otro panel para poder agregar otros nuevos objetos al inventario que al
confirmar se agregaría el nuevo objeto tanto a la aplicación como a firebase para que
otros usuarios lo vean agregado en su aplicación y a su vez guardar la información
para un futuro cargarlo de nuevo
Administrar usuarios
Por el ultimo el botón de configuración que te permitirá entrar al menú de usuarios
donde puedes administrar quien tiene acceso a la aplicación en vez de hacerlo desde
firebase
Esta pantalla se encarga principalmente de mostrar, agregar y eliminar a usuarios que
tienen acceso a la aplicación.
En esta el primer botón al presionarlo mostrará el panel de confirmación donde se
muestra el campo para ingresar al nuevo usuario que tendrá acceso a la aplicación
Y al confirmar esta acción, el nuevo usuario se agrega tanto a la aplicación como a
firebase.
Ahora que estamos en esta pantalla debíamos de agregar una forma de regresar a la
pantalla de inventario y para ello se agregó otro botón en la parte inferior.
Registro de movimientos en el inventario
Tomando en cuenta lo planeado a un inicio debía de existir una funcionalidad donde
se pudiera ver que usuario saco que objetos y cuando así que se decidió agregar otro
botón en medio de los otros botones que te llevara a otra pantalla donde se mostrara
el registro de objetos
En esta nueva pantalla se muestra la información de que usuario saco que y cuando
para ello se creó nueva información en la base de datos de firebase donde se guarda
los objetos, la hora y el usuario que hico el movimiento
Dado que se quería mostrar una nueva lista de unos datos nuevo se uso el
contenedor del inventario para mostrar esta nueva información y se creo un nuevo
objeto que se encargara de mostrar la información el cual a demás de mostrar la
información este tiene un botón con una “X” que permite borrar el registro de la base
de datos y la aplicación
El siguiente paso que se tomo fue el obtener esta información desde firebase y
mostrarlos todos a la vez quedando con una vista como la siguiente:
Y como en la pantalla anterior debíamos de tener la manera de regresar a otras
pantallas sin la necesidad de cerrar la aplicación así que se agregaron otros botones
en la parte inferior que cumplieran con esa funcionalidad.
El primer botón es el de regresar a la pantalla del inventario principal
Y el de la derecha te llevara a la pantalla de configuración donde puedes controlar el
acceso a la aplicación
Resumen de movimientos en el inventario
En este punto teniendo la manera de ver los registros del inventario dentro de la
aplicación se requería una forma de mostrar todos los objetos que se sacaron en
forma de reporte y para ello se agregó otro botón en la parte central la cual muestra
dicho resumen
Que al presionarlo muestra el resumen usando el panel de confirmación que ya
hemos estado usando previamente.
Y este resumen se crea basado en todos los registros que existen en la base de datos
así que si se borra algún registro este resumen actualiza al momento de abrirlo de
nuevo