Cotizador de servicios de techado (roofing) para Windmar Home Puerto Rico. El asesor mide el área del techo sobre un mapa interactivo, elige el nivel de servicio, aplica descuentos y genera una propuesta en PDF lista para el cliente.
- Medición de área dibujando el polígono del techo sobre un mapa interactivo (Leaflet + OpenStreetMap)
- Tres niveles de servicio: Silver / Gold / Platinum
- Sistema de descuentos (Firma y Gana, Cliente VIP)
- Cálculo de precio en tiempo real (precio por pie², remoción, pronto pago)
- Splash screen animado con tema de sellado de silicón
- Exportación de la propuesta a PDF
- Modo claro / oscuro
- Framework / build: React 19 + TypeScript + Vite 6
- Estilos: Tailwind CSS 4
- Mapas: Leaflet + react-leaflet
- PDF: jsPDF + html2canvas + pdf-lib
- Animaciones: Motion (Framer Motion)
- Iconos: Lucide React
- Deploy: Vercel (también soporta Netlify; ambos como SPA con rewrite a
index.html)
npm install
npm run dev
# http://localhost:3000El servidor de desarrollo corre en el puerto 3000 (
vite --port=3000 --host=0.0.0.0).
No requiere variables de entorno. El mapa usa Leaflet / OpenStreetMap, que no necesitan API key.
Nota: el
package.jsonlista@google/genaicomo dependencia, pero actualmente no se usa en el código fuente.
npm run dev— servidor de desarrollo (puerto 3000)npm run build— build de producción adist/npm run preview— sirve el build de producción localmentenpm run clean— elimina la carpetadist/npm run lint— chequeo de tipos contsc --noEmit
- Vercel: SPA con rewrite de todas las rutas a
/index.html(vercel.json). - Netlify:
command = "npm run build",publish = "dist", redirect SPA/* → /index.html(netlify.toml).
Propietario — Windmar Home PR. Uso interno.