Skip to content

Instantly share code, notes, and snippets.

@Maik3345
Last active June 18, 2018 20:12
Show Gist options
  • Save Maik3345/4dc794a61ce547e5c63390ba63b0e229 to your computer and use it in GitHub Desktop.
Save Maik3345/4dc794a61ce547e5c63390ba63b0e229 to your computer and use it in GitHub Desktop.
Welcome file

Migración Carulla al Éxito actual

Para realizar la migración de la pagina web carulla a la estructura actual del éxito se plantea el siguiente proceso:

  1. Realizar una reestructuración de el directorio actual de la pagina del éxito y organizar los procesos que consideramos que necesitan mas atención.
  2. Realizar una copia de la capa web del proyecto éxito, almacenar proyecto en un repositorio svn.

Paso # 1: Reestructuración

Proceso de compra

Actualmente se poseen dos archivos donde se encuentra todo el código que interviene en el proceso de compra
ubicación actual.
|- ExitoAplication/WebContent/js/exito/checkout/exito.2016.js/
Este archivo engloba todo el código que se necesita para realizar la compra en la aplicación.
Se planea crear un directorio donde solo se almacenen los archivos javascript que intervienen en el proceso de compra, actualmente los módulos en que se puede dividir el proceso es:
  • Summary
  • Shipping
  • Payment
  • Review
  • Checkout
La estructura final del directorio para la compra debe de quedar quedar con una carpeta para los archivos css y una carpeta para los js. la ubicación de estos archivos se encuentra en la siguiente ruta:
|- ExitoAplication/WebContent/css/exito
|- ExitoAplication/WebContent/js/exito

Nueva estructura para los js y css

ExitoAplication/WebContent/js/exito/purchase/        carpeta principal del proceso de compra
|- summary/
|- shipping/
|- payment/
|- review
| +- ...                                             elementos adicionales que puedan resultar

Nota: Cada carpeta que se cree dentro de purchase contendrá dentro de si mas sub carpetas. cada archivo que se cree deberá de contener su propia carpeta junto a un nombre que explique correctamente para que se esta empleando el script.

Al realizar este tipo de división se permite que la creación de un nuevo desarrollo sea mucho mas ágil ya que solo se necesita crear un nuevo directorio o archivo que sea únicamente para lo que se necesita.

Tiempo estimado del cambio:

Nota: Al crear nuevos archivos css y js se debe de ajustar la url en donde se cargan los archivos, esto se debe realizar en los siguientes archivos:
|- ExitoAplication/WebContent/WEB-INF/classes/jawr.properties
|- ExitoAplication/WebContent/src/components/jawr.properties.links
purchase CSS Javascript Pruebas
Summary 1 día 2 días 3 horas
Shipping 1 día 2 días 3 horas
Review 1 día 2 días 3 horas
Payment 1 día 2 días 3 horas
Checkout 1 día 1 día 3 horas

Productos (PDP y PLP)

Actualmente los script implicados en las paginas del plp y pdp sufren del mismo problema. toda su lógica se encuentra en los archivos generales y se pretende dividir esta parte de productos para permitir una mejor forma de integrar desarrollos.
ubicación actual.
|- ExitoAplication/WebContent/js/exito/general/exito-2016-application.js/

Nueva estructura para los js y css

ExitoAplication/WebContent/js/exito/products         carpeta principal del proceso de compra
|- pdp/      
|- plp/
| +- ...                                             elementos adicionales que puedan resultar

Nota: Cada carpeta que se cree dentro de products contendrá dentro de si mas sub carpetas. cada archivo que se cree deberá de contener su propia carpeta junto a un nombre que explique correctamente para que se esta empleando el script.

Tiempo estimado del cambio:

Nota: Al crear nuevos archivos css y js se debe de ajustar la url en donde se cargan los archivos, esto se debe realizar en los siguientes archivos:
|- ExitoAplication/WebContent/WEB-INF/classes/jawr.properties
|- ExitoAplication/WebContent/src/components/jawr.properties.links
products CSS Javascript Pruebas Responsive
PDP 1 día 2 días 5 horas Jsp + Css: 3 días
PLP 1 días 3 días 5 horas Jsp + Css: 3 días

Usuario (Cuenta y Servicios)

Actualmente los script implicados en la cuenta de un usuario no poseen una estructura que los permita identificar, se poseen varios procesos que no se encuentran organizados en una sola ubicación por lo que se pretende ubicar toda la lógica del usuario en un solo lugar.

Estructura planteada para los procesos de la cuenta del usuario

my-account                    carpeta principal del proceso de compra
|- account/      			  carpeta que contendra todos los procesos basicos del usuario
  |- user-information/
  |- address-user/
  |- change-password/
|- services/                  carpeta que contendra todos los servicios que se le ofrecen al usuario
  |- shopping-list/
  |- prime-membership/
  |- order-history/
  |- tracking/
| +- ...                      elementos adicionales que puedan resultar

Con esta estructura planteada se pretende tender todo lo referente al usuario en un solo lugar, si se realiza algún desarrollo que pueda ofrecer servicios al usuario, este desarrollo se ubicara en la carpeta services, si se posee algún desarrollo que afecte la cuenta del usuario, se ubicara en la carpeta account.

Tiempo estimado del cambio:

Nota: Al crear nuevos archivos css y js se debe de ajustar la url en donde se cargan los archivos, esto se debe realizar en los siguientes archivos:
|- ExitoAplication/WebContent/WEB-INF/classes/jawr.properties
|- ExitoAplication/WebContent/src/components/jawr.properties.links
purchase CSS Javascript Pruebas
user-information 4 horas 1 día 3 horas
address-user 4 horas 2 días 3 horas
change-password 4 horas 1 días 3 horas
shopping-list 4 horas 2 días 3 horas
prime-membership 4 horas 1 día 3 horas
order-history 4 horas 2 días 3 horas
tracking 4 horas 2 días 3 horas

General

Se propone la siguiente estructura para los archivos básicos de la aplicación
src                                   código fuente del proyecto
|- components/   					  componentes de la aplicación
	|- exito/      					  módulo central (componentes que serviran solo para éxito.com)     
	|- shared/    					  componentes compartidos como el header, footer ó la cuenta del usuario. 
	|- styles.css .      			  css principal o global, posee los estilos que pueden afectar a todo el proyecto.
| +- ...                              elementos adicionales que puedan resultar

Tiempo estimado del cambio:

Nota: Al crear nuevos archivos css y js se debe de ajustar la url en donde se cargan los archivos, esto se debe realizar en los siguientes archivos:
|- ExitoAplication/WebContent/WEB-INF/classes/jawr.properties
|- ExitoAplication/WebContent/src/components/jawr.properties.links
General CSS Javascript Pruebas
header 3 horas 1 día 3 horas
nav 3 horas 1 día 3 horas
configurations 4 hora 1 día 3 horas
footer 4 hora 1 día 3 horas

Actualización a Boostrap 4 y Jquery 3.3.1 (Opcional)

actualmente la pagina web cuenta con versiones de librerías viejas, se recomienda invertir en la actualización tanto de boostrap como de Jquery para tener un proyecto organizado y con tecnologías actualizadas. la actualización consta de revisar los elementos html que se dañen al migrar a boostrap 4 y las funcionalidades que fallen al actualizar a Jquery 3.3.1

Librerías a actualizar:

Tiempo estimado de la actualización

Actualización de librerías Tiempo
Boostrap y Jquery 2 horas
Organizar los templates actuales, Validar funcionalidades que fallen y templates que se dañen 12 días

Migración Carulla

Que se adelantó?

se creó la siguiente estructura.

Se pretende que todo lo relacionado con la cuenta del usuario vaya a estar ubicado en shared/account

Cada uno de los módulos que posee el usuario van a poseer sus archivos .js, .css y .jsp

El método que se optó para para poder importar los recursos de cada módulo independientemente es el siguiente:

Se ha creado dos archivos css.resources.jsp y js.resources.jsp, estos archivos son los que permite indicar qué recursos van a cargar cada página por medio de una variable que se le pase al momento de incluir el .jsp

Se emplea la misma lógica para los archivos .js y los archivos .css solo que el método para importar los recursos es diferente, para los archivos css se emplea el tag <jwr:style /> y para los .js se emplea <jwr:script />

para importar los recursos se emplea la configuración del archivo jawr.properties

en este archivo se crea un identificador tanto para los archivos css como para los archivos js

Como editar la url de los archivos que ya se tiene definida?.

Actualmente se poseen un archivo por parte del proyecto ExitoAplication, este archivo es web.xml

en este archivo se encuentran algunas urls empleadas en la aplicación, pero otras url son definidas desde el proyecto ExitoAPILib, actualmente se han editado sólo dos url que son para las páginas, registerLogin.jsp y recoverPassword.jsp en el archivo UserAccountController.java

Va a ser necesario editar algunas urls directamente en el proyecto de ExitoAPILib.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment