viernes, 25 de abril de 2014

The Personal Diet Project


The Personal Diet  Project es una aplicación diseñada para el control de la dieta alimentaria del usuario. En ella el usuario puede crear sus propios platos o usar la base de datos de alimentos, y tener controlada su ingesta de calorías, proteínas, calcio y hierro (entre otros), y por tanto, saber si tiene cubiertas sus necesidades nutricionales, en base a sus propios parámetros personales.


Concebida inicialmente para Java SE, nace con vocación para dispositivos móviles, pero que ha sido primeramente desarrollada en Java EE.

¿Porqué primero en EE? Por la sencilla razón de que quería emplear PrimeFaces 3.5 en su capa "vista", para mejorar mi dominio de esa biblioteca. Normalmente cuando desarrollo una aplicación multientorno empiezo desarrollando primero el proyecto en Java SE, defino las tres capas y cuando la aplicación está perfectamente implementada y construida sobre firmes bases, entonces la duplico en Java EE. En este caso el proceso está siendo de EE --> SE.


Lenguaje de programación: Java EE 1.7
Front-End: JSF 2.1.17 Mojarra y PrimeFaces 3.5
Persistencia: JPA 2.0

Control de formularios: JQuery
Herramienta de administración: Maven
Control de versiones: GitHub

Servidor de aplicaciones: GlassFish 4.0
MySql 5.1.23
Test: JUnit 4


Esta es una imagen de la aplicación, al 99% de desarrollo.



Un detalle técnico en relación a la pantalla principal (la de la imagen), es que esa página es un template compuesto: la página cliente implementa un template que a su vez implementa otros cinco templates que componen la cabecera, el pie de página, el lateral izquierdo, el derecho, y el centro. El motivo de implementar cinco templates es que permite la modificación y actualización de componentes de forma independiente, sin que afecte al diseño y funcionamiento del resto de componentes de la página.

jueves, 24 de abril de 2014

Keeper of the code keys, una utilidad "muy util" ;-)

Keeper of the code keys 2.5 es una utilidad diseñada para almacenar, de una manera segura, todas las contraseñas y claves de acceso a programas, emails, cuentas bancarias, etc.

Esta sencilla aplicación de escritorio está desarrollada en java 7, y su desarrollo ha sido realizado mediante la implementación del modelo MVC, lo cual facilita no solo su mantenimiento y/o ampliación, sino su posible migración a otros entornos/plataformas, como pudiera ser Android.

Lenguaje de programación: Java SE 1.7
Persistencia: fichero de datos codificado.
Herramienta de administración: Maven
Control de versiones: Subversion, GitHub
Test: JUnit 4






Lo más importante de Keeper of the code keys es que incorpora un sistema de cifrado del fichero de datos con triple codificación dinámica de seguridad. Este sistema no garantiza (¿quién puede?) una inexpugnabilidad total de desencriptado, pero casi... desde luego, es mucho más seguro que tener las claves apuntadas en una libreta, o guardadas en un fichero excel ;-)

El siguiente enlace te permite descargar el fichero .jar desde la web. El fichero no requiere instalación, ya que es autoejecutable :-) . El fichero de datos lo instala en el mismo directorio donde coloques el fichero.



miércoles, 23 de abril de 2014

InversionApp, una aplicación con versiones Java SE y EE

InversionApp es una aplicación pensada para llevar el control de las inversiones realizadas en bolsa y otros mercados como renta fija, etc.

La aplicación permitía grabar cuentas de inversiones, comisiones, el cálculo de costes de las operaciones, y listado de las operaciones de compraventa registradas.

La implementación del modelo MVC era fundamental, ya que, aunque la aplicación estaba originalmente pensada para desarrollarse en Java SE, posteriormente se desarrollaría en J2EE.

Lenguaje: Java SE 1.7
Persistencia: serialización en ficheros de datos codificados.
Administración del proyecto: Maven.
Control de versiones: Subversion.





Esta misma aplicación ha sido posteriormente desarrollada en Java EE, y el objetivo ha sido realizar una implementación doble tanto en la capa de persistencia (versión Hibernate y versión JPA) como en la capa de cliente (versión JSF y versión JSP-Servlet):


He aquí el aspecto que tenía en la versión JSF - Hibernate:

Lenguaje: Java SE 1.7
Persistencia: Hibernate 4.0 
Front-End:  JSF 2.1 Mojarra
Servidor: JBoss 7.1
Administración del proyecto: Maven
Control de versiones: GitHub




La capa de negocio es básicamente la misma, con algunas adaptaciones sobre todo en el caso de la implementación JSP-Servlet.

Después de esta aplicación, se alcanzaron los objetivos propuestos de conseguir modificar la arquitectura de la aplicación, migrándo el proyecto desde SE hasta J2EE, así como cambiar la implementación de las capas de cliente y/o persistencia con un mínimo coste de horas. Para ello, fue fundamental la adecuada construcción del proyecto según el modelo MVC.

sábado, 19 de abril de 2014

Página web de Ecovitalia

Ecovitalia era una empresa dedicada a la comercialización de productos alimentarios, cosméticos, infusiones, etc., todos ellos ecológicos y/o naturales.

Los clientes de la tienda online debían registrarse obligatoriamente para realizar sus compras. Los clientes tenían descuentos, información sobre productos, promociones especiales, etc.

He aquí una vista de las páginas de la tienda online, que aún está colgada en la web, aunque la tienda no está operativa ya que la empresa cerró en 2012. Puede visitarse la página en www.ecovitalia.es



En cuanto a su realización, esta web estaba desarrollada en HTML 4.01 Transitional, CSS 2, utilizaba JavaScript para el control de formularios y el carrito en la zona privada, y como lenguaje de programación PHP 5, siendo las bases de datos MySql. La parte colores, diseño, etc. se realizó según las instrucciones del cliente.

Como página web estaba estructurada en un diseño por grupos de productos, seleccionables mediante un botón superior, y luego a su vez por secciones. También ofrecía la posibilidad de buscar por marcas o por productos, dentro del grupo seleccionado.

En la zona privada el cliente podía tener acceso al historial de productos, a sus facturas, a la relación de pagos efectuados, etc. También ofrecía la posibilidad de pagar mediante paypal.

Página web de tevitalia

Tevitalia era una empresa dedicada al mundo del té, a través de la cual se vendían tés ecológicos de diversas partes del mundo, además de tés gourmet, infusiones de hierbas, productos de aromatización, complementos, etc.

La página web estaba estructurada en dos bloques diferentes pero interrelacionados: la tienda online y las páginas de información.

He aquí una vista de las páginas de info, perteneciente a la sección que permanece actualmente colgada en la web, ( dirección www.tevitalia.es) ya que la empresa cerró en 2012.


















Técnicamente hablando, la web estaba desarrollada en HTML 4.01 Transitional, CSS 2, algo de JavaScript para el control de formularios, y como lenguaje de programación PHP 5. El diseño, los colores y el formato visual en general se realizó según las instrucciones del cliente.

Como página web estaba estructurada en un diseño clásico, con una página de entrada que mostraba los productos a promocionar y las últimas novedades, así como el acceso a las páginas de información y a la tienda online.

Dentro de la tienda online se ofrecían los productos con un diseño clásico de fichas, carrito de la compra, enlace paypal, etc.