Status: Evaluating bids

Programador Prestashop

Project details:
Budget: Open
Published: 2 weeks ago
Deadline: 15 days
Bids: 1
Interested freelancers: 3
Days until project expiration: 16 days
Description:
Estaríamos interesados en desarrollar un módulo para prestashop. 
Se trata de un módulo de login que ha de sustituir al login que viene por defecto en la tienda de prestashop. 
El módulo ha de cubrir 3 variantes:

• Login, para usuarios registrados.

• Acceso invitado

• Registro de usuario.


a) login. Se comprueba la validez de la dupla clave/usuario. En caso correcto se extraen las direcciones del usuario.

a.1) No tiene ninguna dirección. Se le muestra un pop-up indicando que es necesario que indique una dirección para poder determinar si se puede realizar la entrega. El usuario podrá decidir registrar una dirección o entrar en tienda en modo catalogo/invitado(*).
Si el usuario registra una dirección, primero se guardará en el sistema y, posteriormente, se le realizará la consulta a la API google maps matrix(*). En caso de cumplir con el ok de google en cuanto a tiempo de entrega se le da acceso a la tienda. En caso contrario, se le volverá a invitar a introducir una nueva dirección o acceder en modo invitado.
a.2) Tiene 1 dirección. Mediante una popup se Le pregunta al usuario si quiere que se le haga entrega en esta dirección. En caso afirmativo se hace la consulta con esta dirección a la API de google y si cumple los requerimientos en cuanto a tiempo de entrega entonces se le da acceso a la tienda. En caso de que no quiera esta dirección, se le da la posibilidad de registrar una nueva o entrar en modo catálogo /invitado. Se repite a partir de aquí lo mismo que en el punto a.1), es decir, se registra y consulta la dirección contra la API, si OK, entramos en tienda, sino “¿nueva dirección?” / acceso como invitado.
a.3) Múltiples direcciones. Se muestra un popup al usuario mostrándole todas las direcciones. El usuario podrá seleccionar cualquiera de ellas e, incluso, añadir alguna nueva. A partir de ahí, lo de siempre. Registrarla si es nueva y, posteriormente, consultar a la API de google. Si todo ok, acceso tienda, sino elección entre ¿nueva dirección? / ¿seleccionar otra dirección entre las ya creadas? / ¿acceso como invitado?

b) Acceso en modo invitado. Bastará con reflejar en el contexto de prestashop (Context::getContext()->cookie) que el usuario ha accedido en modo guest, de tal manera que nosotros podamos modificar según nuestra necesidad los tpl de la plantilla para que, obteniendo este valor, podamos determinar si mostrar según que botones, informaciones, etc. Habíamos pensado en algo como:
{if Context::getContext()->cookie->isGuest == "TRUE"}
 
{/if}

Este tipo de modificaciones las realizaríamos nosotros.

c) Registro de un nuevo usuario. Mediante un popup se le solicitará al usuario el email, nombre y apellidos, clave, teléfono y una dirección. Por una parte se llevará a cabo el alta del usuario. Por otra parte se consultará a la API de google maps, se guardará y se consultará con la API de google si está en la zona de reparto. Si no estuviera, se le mostrarán las opciones: ¿nueva dirección? / ¿acceso como invitado?
En cualquiera de las opciones anteriores cuando se realiza un registro de una nueva dirección, antes de realizar la llamada a la API de google Maps matrix, se realiza una llamada a otra API de google para determinar si la dirección está correctamente escrita, por lo que en caso de que así sea se le muestra en un popup al usuario un mensaje con campos “input” con la dirección para que pueda realizar el cambio (ej, el usuario haya escrito playa de España, en lugar de plaza de España). Este popup, tal y como sucede en la web de  burgerkingencasa.es, también mostrará un mapa de google para que el cliente pueda afinar la búsqueda de la dirección. al clicar en el mapa y se le rellenará un formulario con la dirección, ciudad, código postal.(esto último puede ser opcional en caso de que sean muchas más horas)
La idea es que si un cliente entra a la tienda en modo compra es porque ha seleccionado una dirección y, además, esta cumple con los requisitos de tiempo de entrega (API). Por lo que es importante que quede constancia en el contexto de la tienda (por ejemplo en el Context::getContext()->cookie) la dirección (calle, código postal, ciudad, etc) seleccionada. Esto nos servirá posteriormente en el proceso de checkout para que automáticamente, en el caso de que el cliente tenga varias direcciones, podamos modificar el address.tpl para que se seleccione automáticamente la dirección previamente seleccionada. (Este cambio lo llevaríamos a cabo nosotros)


Entendemos que no se debería modificar para nada el comportamiento estándar de la tienda si el módulo es capaz de interactuar con el contexto de prestashop. Por lo que hacer login sería tan sencillo como invocar al contexto, hacer login y refrescar la página. Esta, de forma estándar, tomaría al usuario "X" como logueado.
El módulo debería aparece en todas las páginas de la tienda, a modo de capa traslúcida que deje ver la tienda por detrás pero sin posibilidad de interactuar con ella.

*: Todas las llamadas a las APIS de google Maps ya están desarrolladas por nuestra parte. Os las pasaríamos. Se trata de una librería Javascript.

Categoría: IT & Programación
Subcategoría: Ecommerce
¿Cuál es el alcance del proyecto?: Cambio mediano
Es un proyecto o una posición?: Un proyecto
Actualmente tengo: Tengo las especificaciones
Experiencia en este tipo de proyectos: No (No he administrado este tipo de proyectos anteriormente)
Disponibilidad requerida: Según se necesite
Roles necesarios: Diseñador, Desarrollador, Analista funcional
Integraciones de API: Otros (Otras APIs)
Do you need more information about this project?

Create your own project

Are you looking for a freelancer to work on a similar project? Create your own project and you'll receive proposals from the best freelancers.

Create a similar project

Client:

Miguel
(Rating 0.00 out of 5)
Location: España
To find out more about this client, login to Workana.
Loading...