Para realizar la migración de la pagina web carulla a la estructura actual del éxito se plantea el siguiente proceso:
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/
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
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.
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 |
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/
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.
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 |
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.
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.
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 |
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
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 |
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:
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 |
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.