Mi Malla
Cotizador para una instaladora de mallas de seguridad. El vendedor busca al cliente, la ficha se autocompleta, y sobre ella se levantan las áreas a instalar una por una.
- Rol
- Diseño y desarrollo completo
- Cliente
- Proyecto de cliente
- Stack
- PHP, MySQL, PDO, jQuery
- Acceso
- Con sesión y roles
- Código
- Ver repositorio
El problema
La mayoría de clientes que cotiza vuelve: una casa que empezó con el balcón termina cerrando también las escaleras y la azotea, y cada visita significaba volver a pedir nombre, teléfono, correo y dirección. Los datos existían, dispersos en cuadernos y chats, pero no en un lugar del que se pudieran recuperar.
La ficha de cliente es el centro
El sistema se construyó alrededor del cliente, no de la cotización. Al empezar una proforma se busca por nombre o apellido y los resultados aparecen mientras se escribe; al elegir uno, sus datos llenan el formulario. Si es alguien nuevo, se guarda desde la misma pantalla sin salir del flujo. El cliente se identifica por nombre completo o por teléfono, así que la segunda visita actualiza la ficha existente en vez de crear un duplicado.
Áreas variables
Una instalación no tiene un número fijo de paños. El formulario arranca con una fila — tipo, ubicación, ancho y altura — y se agregan las que hagan falta. Los metros cuadrados se calculan por fila y se suman en el servidor al guardar, dentro de una transacción que escribe cliente, cabecera y detalle o no escribe nada.
Acceso
- Sesión obligatoria en todas las páginas y endpoints
- Roles: el menú de administración solo existe para quien lo tiene
- Contraseñas con hash bcrypt, verificadas con las funciones nativas de PHP
- Regeneración de identificador de sesión al iniciar sesión y al cambiar la contraseña
Proyecto de cliente, con el código publicado. Esta página describe el enfoque y la arquitectura.