Proyecto para Móvil y Escritorio desarrollado en JAVA
El reto era crear una aplicación para un negocio pequeño que se dedica a hacer
pizzas pero no tienen una plataforma donde puedan controlar los pedidos, ni sus clientes
pueden hacer pedidos desde la comodidad de su casa.
Se desarrolló la siguiente solución para que los clientes pudieran realizar sus
pedidos desde la comodidad de su casa y posteriormente pasarlos a recoger.
Es un proyecto multiplataforma desarrollado en JAVA, donde el cliente podía
acceder desde la aplicación Android y del lado del negocio podían acceder
por medio de la web. Cada uno tiene su propia interfaz, y al momento que el cliente realiza un
pedido
se le brinda un tiempo promedio para que pueda pasar a recoger el pedido y en el lado del
negocio
se actualiza la lista de pedidos con la fecha y hora que se realizó.
Desarrollo
El desarrollo se dividió en 5 partes. Las cuales fueron: la base de datos, la API, los Web
Services,
la aplicación Android y la parte de administración: la página web.
Base de Datos
Primero se creó una base de datos en MySQL , muy minimalista y enfocada en las necesidades
del negocio, siendo los usuarios,
el tipo de usuario; que podría ser el administrador del negocio o el cliente, el tipo de
producto; que puede ser
pizza o bebida, el producto como tal, y el pedido con su debido detalle; teniendo en cuenta la fecha
y la hora que se realiza
y los productos que el cliente ha agregado.
API
Se creó una API en Java utilizando el ORM de Hibernate, ésta sería la encargada
de la conexión
a la base de datos y de administrarla, mapeando las tablas de la base de datos y así mismo
estaría
conteniendo las diferentes entidades con sus respectivos atributos y métodos.
Web Services
Después de crear la API, se creó otro proyecto JAVA que serí el encargado de
contener los servicios web,
utilizando el protocolo de intercambio de datos REST, siendo una API bastante conocida y
fácil de manipular, este proyecto
se encargaría de recibir las peticiones tanto de la página web del administrador como
de la aplicación Android
para comunicarse con la API encargada de la comunicación con la Base de Datos, para poder
realizar el CRUD completo.
Aplicación Web
La aplicación web sería la encargada de la parte administrativa del negocio, donde
tiene su propio login, quién se
autentica y se da acceso solamente al administrador, si el cliente quiere ingresar no lo
permitirá.
La aplicación web tiene un menú donde al ingresar le da la bienvenida al
administrador, puede ver los usuarios que se han registrado
en la aplicación Android, hay un menú de productos donde puede el administrador puede
agregar, editar o eliminar los productos
que quiere que estén a disposición del cliente y finalmente el menú de pedidos
donde puede ver los pedidos que los clientes
han realizado, se refresca automáticamente cada minuto y puede escoger cuando pedidos puede
ver al mismo tiempo.
Aplicación Móvil
En la aplicación móvil se decidió por un diseño minimalista donde el
usuario se puede registrar y posteriormente
logear, en el menú principal puede hacer un pedido donde se le presenta la lista de productos
disponibles, al hacer "tap" sobre un producto
en específico se le presenta los detalles del producto, junto con su respectivo precio y
puede agregarlo o volver a la lista, luego en el menú
de "Ver Pedido" puede ver un resumen de su pedido, le muestra su nombre, la fecha y hora y los
productos que ha agregado.
Al confirmar su pedido se le da un tiempo estimado para que pueda pasar a traer su pedido y pagar.
Imágenes del Proyecto
Base de datos
Modelo relacional creado en MySQL
API
Modelo MVC utilizando ORM Hibernate
Login Web & Móvil
Login Minimimalista para el administrador y el cliente
Autenticación
En caso que otro usuario se loguee
Menú Usuarios
Parte del menú
Menú Productos
Administración de productos
Menú Pedidos
Para ver los pedidos que se vayan realizando
Pantalla de Registro
El cliente se puede registrar
Lista de Productos
El cliente ve la lista de productos disponibles
Detalle de Producto
Cuando se selecciona un producto muestra el detalle
Pedido del Cliente
Al final se muestra un resumen del pedido con su nombre, fecha y hora
Confirmacion del Pedido
Cuando el cliente hace el pedido se muestra la confirmación y tiempo
estimado
Anterior
Siguiente