Objeto de trabajo.
- Proyecto de actualización de una app de facturacion y gestión realizada en Laravel. Identicas Funcionalidades,
- Migración de PHP 5.6 con Framework Laravel version 4.2 a Laravel version 5.5 lts y php 7 o 7.1.
- Documentación de los cambios realizados, del modelo de datos, y explicación detallada de routes. A título indicativo os comento que hay unas 160 líneas en routes.
- El programador puede proponer mejora en las funcionalidades, que serán consideradas ad on y presupuestadas y abonadas a mayores.
consideraciones previas
- nuestra idea es usar esta tarea como test para incorporar a esta persona o personas al desarrollo posterior de algunos nuevas funcionalidades de esa aplicación. Se pretende una relación estable y fluida.
- Esta aplicacion esta actualmente en producción y a la app de producción denegamos el acceso. Se dispone también de una versión de pruebas en nuestro servidor con la base de datos real a la que si permitiremos el acceso de ser necesario en fase posterior una vez formalizada la relación y aceptado el presupuesto.
- Si los candidatos quieren evaluar los riesgos antes de hacer la propuesta económica necesitan enviar un mail a través de workana indicando el user name de github, y con gusto les facilitaremos un acceso temporal al repositorios de esta aplicación. El repositorio de aplicación no contiene la base de datos por temas de confidencialidad y protección de datos, es de solo lectura, y su único objeto es de facilitar una aproximación al objeto del trabajo. El repositorio si contiene las migraciones por lo que los candidatos pueden hacerse una idea de que va el proyecto.
- Junto con el usuario de GitHub se recomienda a los candidatos que acrediten con el mayor detalle posible su experiencia en Laravel en el correo de respuesta a esta propuesta de trabajo. Si el candidato no acredita su experiencia en el framework puede ser objeto de descarte. Por este motivo en la intención de que no pierdan tiempo ni ustedes ni nosotros rogamos que se abstengan aquellas personas que no tengan experiencia real al respecto.
- Los candidatos deberán de formular una propuesta económica cerrada, pero eso no es obstáculo para que puedan sugerir mejoras, y que la misma se conviertan en un segundo encargo. En este sentido nuestro primer paso en la reforma es dotarla de un servicio de notificaciones a los usuarios.
PLAZOS
- El tiempo que hemos estimado para este trabajo para un programador experto en Laravel y php es de 5 días.
Puede ser incluso menos o más dependiendo de las habilidades, pero a los efectos del encargo del trabajo se estima como plazo de entrega 7 días laborables, no entrando en ese computo los sábados ni los domingos en la intención de dar margen.
- Fecha de inicio del trabajo miércoles 7 / jueves 8 de marzo. Fecha entrega 15/16 marzo.
migracion de laravel 4 a la version 5.5 LTS
Nuestra necesidad de actualización a Laravel 5.5 LTS se debe a que es versión estable que proporciona durante 2 años correcciones menores a errores, y revisiones de seguridad para 3 años. Esto nos asegura la solvencia del framework en nuestro proyecto durante ese período proporcionando escalabilidad para futuras mejoras.
A continuación, se enuncian las mejoras que nos trae Laravel 5.5 LTS y hemos señalado con mayúsculas aquellas que según nuestro análisis previo noa pueden ser de gran utilidad para el desarrollo del proyecto con posterioridad:
• La auto-detección de paquetes
• nuevos presets del frontend.
• encadenamiento de trabajos en cola.
• VALIDACIÓN.
• notificaciones bajo demanda
• manejo de excepciones personalizadas y más sencillas de utilizar.
• Bloqueos para los controladores de memoria caché (MEMCACHED Y REDIS).
• Mejoras en plantilla Blade.
• MÉTODOS Route::view y Route::redirect
A título indicativo os comento que hay unas 160 líneas en routes.
comprobaciones que exigimos para validar el trabajo de la instalación de la version 5,5.
• Conformidad a la revisión de las funcionalidades existentes en la actualidad.
• Acreditar/ejemplificar la auto-detección de paquetes y la instalación de paquetes vía composer sin errores.
• Estudiar, mejorar, acreditar cambios y documentar la sustitución/eliminación de rutas que únicamente generen una vista o retornen una redirección mediante el los métodos Route::view y Route::redirect
• Explicación, Propuesta /ejemplo de acreditación de notificaciones vía demanda.
• Habilitar la configuración de colas de trabajo se encuentra almacenada en app/config/
queue.php para que quede la base para un futuro servicio de notificaciones mediante el envío de correos y en el futuro de archivos ics para un calendario corporativo de proyectos, y explicar cómo se haría (propuesta segundo encargo).
MIGRACION A PHP 7
Para que la aplicación actual funcione bien en Laravel 5.5 lts es necesario revisar la programación escrita en la actualidad y migrarla a php 7 o php 7.1 Actualizar el framework e intro no funciona y además no nos vale como método de trabajo. Queremos algo serio y esto supone revisar las funciones y demás que se cambian de php y que deberán ser comprobadas en el código de la aplicación existente.
Somos conscientes de que es un trabajo tedioso y que hay cambios retro incompatibles, y funciones cambiadas
..Etc, pero la ventaja es que este tema está muy bien documentado:
También somos conscientes de que puede ser interesante echarle un vistazo al código y para ello creemos que lo mejor es dar un acceso a lugar de GitHub donde está en proyecto sin la base de datos, pero si con las migraciones y para ello sólo tenéis que enviar vuestro usuario de GitHub y así podéis evaluarlo con detalle.
Esta app está en producción, pero tenemos un clon de la misma en un servidor aparta para poder hacer pruebas.
http://php.net/manual/es/migration70.php
Plazo de Entrega: 23 Febrero, 2018