About this project
design-multimedia / mobile-app-design
Open
Título: Aplicación Móvil para la emisión de tickets de pedidos
Descripción:
Se requiere la construcción de dos piezas de software a saber una aplicación mobile
(distribuidor) y una web desde la cual se realizará la gestión de todo el sistema (fábrica).
Aplicación Mobile
La app estará destinada a distribuidores de productos que efectúan ventas a clientes.
Acciones que deberá permitir la interfaz:
a) Login de usuario distribuidor.
B) Listado de clientes.
C) Realizar una venta a partir de un catálogo de ítems con correspondiente emisión del ticket d)
Control de stock.
Requerimientos:
El mecanismo de restricción de acceso deberá estar basado en una autorización de usuario
que se realizará por única vez y que deberá consignarse con anterioridad en el backend. A
partir de ese momento la instancia de aplicación estará liberada para operar. Esta autorización
podrá ser revocada unilateralmente desde el backend via push.
El catálogo de ítems representa aquello que el distribuidor tendrá libertad de vender y se define
para cada usuario particular. Este catálogo recibe actualizaciones desde el servidor a partir de
la existencia de nuevo stock pautado para ese vendedor. Esta actualización se hará vía push y
se origina a través de la carga de la misma por parte de un administrador del backend.
La aplicación deberá poder imprimir un ticket electrónico como constancia del pedido (a través
de una impresora térmica bluetooth) y este pedido deberá ser reportado al servidor.
Se deberá incluir en la app una opción que permita verificar el correcto funcionamiento de la
impresora a través de una prueba de impresión.
Para el caso de que se quiera efectuar una venta a un cliente que no figure en el listado la app
deberá permitir tomar los datos provisionales del mismo, los que luego se validarán por un
administrador del backend para convertirlo eventualmente una nueva entidad dentro del
repositorio. Además el administrador estará facultado para rechazar la inclusión de esa nueva
entidad y tendra la posibilidad de reasignar el pedido a un cliente ya existente o de no asignarle
relación alguna.
Una vez autorizada la app podrá prescindir de conexión a internet debiendo operar y almacenar
localmente las acciones realizadas. Una vez que la conexión se encuentre nuevamente
disponible se reportarán todas las acciones que hayan surgido del uso offline.
La app hará trackeo del stock descontando unidades al realizar la venta e incrementando las
mismas al recibir actualizaciones de nuevo stock desde el server. No se podrán generar
pedidos que no cuenten con stock que lo respalde.
Además la app hará un trackeo de todos los eventos de UI que realice el usuario a fines de
analizar y auditar el uso de la aplicación. Estos eventos se almacenaran temporalmente y serán
enviados en actualizaciones periódicas al servidor (proceso de baja prioridad)
Deberá funcionar en Android >=4.4.1 (en futuras etapas está contemplado extender el soporte
a otras plataformas y/o S.O).
WebApp:
Requerimientos:
API Rest:
• Endpoints json que soporten las operaciones que realizan los clientes móviles.
- Envio de catalogo de productos
- Envio de listado de clientes para el distribuidor
- Envío de actualizaciones de stock
- Recepción de Pedidos
- Recepción de tracking de eventos/estadísticas de uso
- Autorización/Revocación de acceso.
Backend :
• Login de usuario administrador y validación del mismo (existirá solo un único rol)
• Administración de usuarios distribuidores (para administrar el acceso a la app mobile)
• Administración de productos disponibles (catálogo general).
• Actualizaciones de stock para cada distribuidor
• Administración de clientes
• Visualización de las ventas realizadas por los usuarios
• Asociación entre distribuidores y clientes (un cliente puede estar disponible para más de un
distribuidor).
• Listado de registro y auditoría de uso de app por cada distribuidor.
• Registro append-only de todas las operaciones que realiza el administrador.
Importante:
Para todas las acciones del backend se requerirá las operaciones de paginación, búsqueda,
edición y filtro de los resultados.
Se debe contemplar la posibilidad de realizar una conciliación del stock de cada distribuidor a
modo de ajustar las diferencias que pueda llegar a tener y que no surjan necesariamente de las
ventas que realice (como por ej: devoluciones, pérdidas, faltantes, etc.)
Tecnologías Sugeridas:
App Mobile: Basada en tecnologías HTML5/JS / Phonegap / Cordova.
App Web (Backend): PHP usando Symfony, Laravel o un Framework moderno y con desarrollo
activo / MySQL / Nginx / Linux
Category Design & Multimedia
Subcategory Mobile app design
Is this a project or a position? Project
Required availability Part time
Delivery term: Not specified