Aplicacion web sencilla Control de transacciones para venta emprendedores(Netbeans, Glasfish, JPA, responsiva con Framework Boostrap y Jquery)

Saludo Colegas,  muchas gracias por leer mi blog, en esta oportunidad  desarrollare una aplicación web, para una venta en feria de emprendedurismo de una Universidad, el proyecto es real y su función principal es controlar los movimientos de venta del evento, la venta del producto es por medio de un ticket que funcionara como orden o pedido, se necesita saber el dato real de lo vendido, cuales se despacharon, y cuantas disponemos para vender, tendrá unas extras como la implementacion en la red para correrla desde un dispositivo Movil,  y poder controlar el inventario, tomar decisiones según los indicadores, y estadísticas todo en el momento con datos actualizados. 

Es importante mencionar que los módulos son básicos y no requieren mucha configuración. en un principio  habia que desarrollar una factura, pero ya no fue posible por que el producto se vendio en preventa, asi que solo consideraremos modulos para control y orden de despacho. e inventario. y estadisticas.

Tiempo de ejecución del proyecto 2 Semanas desde el diseño, desarrollo, pruebas, implementacion y ejecución del proyecto.

Requisitos e Ingenieria.

Requisitos Mínimos, una buena computadora,  una taza de café, unos audífonos de alta gamma  y una buena conexión a Internet. a desvelarse... conocer un basico de HTML5, y Boostrap

Un router y dispositivos Móviles de preferencia con datos.

Nombre del Proyecto: Mercantil
 BD: MySql


Por restricciones de perfiles Utilizo Uniform Server  es una aplicacion Portable, Me es de mucha Utilidad para MySql, pero veran que funciona muy bien, y se puede ocupar los tres modulos, apache, Php y Mysql.





Netbeans  8.0.2



Los plugins Web habilitados, el plugin Glasfish que viene integrado solo para descargar en instalar siempre en netbeans.



Paso 1: Diagrama DER Basico.




Paso 2: Creamos un nuevo Proyecto web en netbeans. 



Asignamos un Nombre: 


Le asignamos el servidor, la version java web que ocuparemos y el path que por lo general dejamos el directorio creado por netbeans.



Agregamos un framework; Si ocupamos uno, en mi caso sera default sin marcar, luego  finalizamos


   
Una Vez creado iniciaremos con el login; en este proyecto me apoye de una plantilla de licencia gratuita MIT y mis creditos son para.  Bootswatch, creamos la pagina jsp. y sustituimos todo el codigo html por el de nuestro car login de la plantilla agregando todas las carpetas que ocupa la plantilla.  



Cambiamos el directorio que ocupara el html y sus framework.  por las nuevas del proyecto. Se almacenaran en el servidor y estaran disponibles en linea, de no modificar esta parte solo podras ver los cambios en tu PC y no en la de la red. de ahi la importancia  de cambiar esta parte. por lo que la sugerencia es que queden de la siguiente forma.  

Notaran que el nuevo Directorio es /Mercantil/...   ese es el nombre de nuestro Proyecto. 





luego nuestro card para el login ahora en el body de nuestra pagina






Obtendremos un login  que podran diseñar a conveniencia del cliente en mi caso es para derecho mercantil.  


Paso 3: Crearemos los paquetes que nos serán de utilidad.  
3.1:  Paquete DTO, almacenaremos los objetos DAO y DTO. 
3.2 Paquete Entidad, generaremos nuestras entidades para le Persistencia de nuestros catálogos y tablas.
3.3 Paquete Servlet. generaremos todas nuestras reglas del negocio.
3.4 Paquete Utilidades, almacenaremos clases que pueden ser auxiliares en caso necesitemos un formato en especifico, rutas propias, etc.


Generamos las entidades en el paquete correspondiente.




seguimos los pasos de nuestro dialogo. en caso no exista conexión previa aplicamos nuevo data source,  le damos un nombre acorde al proyecto



notaremos  que hay disponibles multiples drivers  de conexión de forma automática. para el proyecto el correcto es MysQL.




configuración del formulario de la BD disponible para el proyecto chequeando remember password para que guarde automaticamente el usuario y clave. aplico el Test, si la conexión es exitosa finalizo el dialogo.  



Tenemos disponible las entidades que podremos generar


configuramos los demás pasos, para el proyecto ocupare el tipo de colección java.util.list , finalizamos nuestras entidades. 


Ya estamos listos para proceder a nuestros módulos.  para la implementacion del login les recomiendo ver la sección login, en la imagen esta adaptado a la aplicación y al loguearse redirecciona al menu principal de la aplicación caso contrario notifica del acceso restringido.  



error al loguearse;  dependera de la creatividad.  




Si un usuario copia el directorio  podrá Accesar únicamente a lo que no este restringido caso contrario deberá loguearse.  



Modulo para ingreso de  compras, nos servirá para el control del total de inventario disponible.




Las ordenes las ingresamos en este modulo, que a su ves nos funciona de control para saber si hay un ticket vendido de lo contrario no estará disponible para el despacho de la orden.



Una vez ingresado el numero de ticket agregamos la orden nueva.  nos aparecerá en la tabla mientras este pendiente de producción.




Modal que nos pide la elección de complementos que el cliente elija.

.



Menú para producción mostrando las opciones que eligió el cliente. Una vez despachada nos actualiza el listado excluyéndola de producción.



Nos actualiza el panel de control. 


Como notaran actualiza el inventario o disponibilidad,     todo en tiempo real. Sencillo pero efectivo. Ahora falta desarrollarlo para mas productos. Adaptación que no es muy complicada si no solo en modificación de reportes.




dos semanas de  diseño, producción e implementacion incluye  la BD. 

2 comentarios:

  1. esta aplicación valida que no se ingrese una fecha anterior? como se realiza este validación, obsevo que el componente para fecha esta activo, ¿puedo seleccionar una fecha de día posterior o anterior?

    ResponderEliminar
    Respuestas
    1. Estimado, esta función esta habilitada por que la preventa se realizo con un mes de anticipado, hay un modulo de venta directa que no permite ni asignar usuario ni fecha, en el caso uno toma el usuario logueado y el caso 2 toma la fecha del servidor.
      el sistema trabaja en base a niveles de usuario y el mio al ser administrador habilita varios modulos back end que no están disponibles para los usuarios mortales.

      Eliminar