Commit Graph

47 Commits

Author SHA1 Message Date
Carlos Narro
6f86334c8a Add layout y dashboard del admin 2026-05-30 19:56:31 +02:00
Carlos Narro
b91e1685c0 Add queries del área admin 2026-05-30 19:55:33 +02:00
Carlos Narro
9d140d8467 Cablear CTAs de trial de la landing B2B a /signup 2026-05-30 19:53:03 +02:00
Carlos Narro
795d6a7a19 Add signup trial que crea tenant y owner
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 19:50:50 +02:00
Carlos Narro
aecfb2c7e3 Add validación y slug del signup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 19:49:09 +02:00
Carlos Narro
e1f12f94c6 Sembrar planes y usuarios demo (admin + owner logueable)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 19:47:11 +02:00
Carlos Narro
6add2f93ea Proteger el panel con sesión y mostrar empresa real 2026-05-30 19:45:07 +02:00
Carlos Narro
17cd03d3c9 Usar AnyPgColumn en vez de any para la referencia forward de plan_id
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 19:43:59 +02:00
Carlos Narro
b776646a50 Add login y logout 2026-05-30 19:43:10 +02:00
Carlos Narro
a7339b8f14 Migrar resolución de tenant del panel a la sesión 2026-05-30 19:41:04 +02:00
Carlos Narro
a6b77b9731 Add ciclo de vida de sesión y helpers de usuario actual
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 19:39:31 +02:00
Carlos Narro
7b3b8457c1 Add schema de users, sessions, plans y suscripción de tenant
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 19:37:35 +02:00
Carlos Narro
2cc19147ff Add decisiones de autorización puras
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 19:35:41 +02:00
Carlos Narro
4e4cc8545e Add generación y expiración de tokens de sesión 2026-05-30 19:34:07 +02:00
Carlos Narro
49b5910593 Add hashing y verificación de contraseña 2026-05-30 19:32:28 +02:00
Carlos Narro
5fb0d571cd Add bcryptjs para hashing de contraseñas 2026-05-30 19:30:46 +02:00
Carlos Narro
0f106423be Add plan de implementación auth + multi-tenant + admin de planes
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 19:22:16 +02:00
Carlos Narro
902062d443 Add design spec for auth, multi-tenant y admin de planes
Diseño aprobado del módulo de login del reformista, aislamiento
multi-tenant y área admin con asignación de planes (Stripe en stub).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 19:09:05 +02:00
Carlos Narro
96dedaf60c Seed catálogo y presupuesto calculado para lead demo
Calcula y persiste el desglose de Roberto Salas con computeBudget para
que el detalle muestre un presupuesto generado real al abrir el panel.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 17:56:05 +02:00
Carlos Narro
c02f681a9a docs: documentar panel de precios y motor de presupuesto en README
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 17:28:11 +02:00
Carlos Narro
6a41327c57 chore: probar autodeploy webhook Gitea->Dokploy
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 17:23:14 +02:00
Carlos Narro
6be00e3eb5 fix: validate numeric pricing inputs and drop unused import
Guard euro/altura inputs in precios actions so empty or non-numeric
form values return a Spanish error instead of writing NaN and throwing
a 500. Remove the now-unused formatEuros import flagged by ESLint.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 12:46:52 +02:00
Carlos Narro
588aa4dc1c feat: wire computeBudget into recalcularPresupuesto and show desglose
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 12:41:40 +02:00
Carlos Narro
4106d58614 feat: add pricing panel with catalog CRUD and CSV import 2026-05-30 12:36:31 +02:00
Carlos Narro
c00c571549 feat: add queries mapping pricing config and catalog to engine types 2026-05-30 12:33:11 +02:00
Carlos Narro
892c257182 feat: migrate and seed pricing config + demo catalog 2026-05-30 12:31:58 +02:00
Carlos Narro
afef9f2cb0 feat: add pricing_config, catalog_items and budget input fields to schema 2026-05-30 12:30:03 +02:00
Carlos Narro
e6f8b47205 fix: correct factorZona zero handling and confidence for unresolved selections 2026-05-30 12:28:10 +02:00
Carlos Narro
58d3f62a76 feat: add catalog CSV parser with per-row validation 2026-05-30 12:24:47 +02:00
Carlos Narro
896c7ac89b feat: implement computeBudget with partidas, zona factor, licencia and range 2026-05-30 12:22:42 +02:00
Carlos Narro
61e0f5dbe5 feat: resolve unit price from catalog with selection override
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 12:20:10 +02:00
Carlos Narro
b27b68908c feat: derive cantidades from minimal measurements
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 12:18:48 +02:00
Carlos Narro
9b14dbfac5 feat: add budget domain types and partida labels 2026-05-30 12:17:04 +02:00
Carlos Narro
515e9fd7a2 chore: set up vitest and add zod 2026-05-30 12:15:26 +02:00
Carlos Narro
75de172900 docs: add motor de presupuesto implementation plan
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 12:12:07 +02:00
Carlos Narro
bd07586b03 Add motor de presupuesto design spec
Diseño validado del motor de presupuesto: modelo híbrido partidas←precios
unitarios, medidas mínimas (m² suelo + supuestos), calidad B/M/P + catálogo
importable por CSV, y progressive disclosure de personalización en el funnel.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 08:27:06 +02:00
Carlos Narro
f09024f753 Add B2B reformista panel with Postgres/Drizzle data layer
Modela el funnel del lead en dos dimensiones (pipeline_stage técnico
de 7 pasos + estado comercial de 6 estados) y siembra 11 leads demo,
uno por cada momento del funnel, para analizar el siguiente paso.
Incluye panel /panel (lista + detalle RF-D-01/02) y wiring de deploy
(Dockerfile multi-stage + entrypoint migrate+seed).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 15:51:10 +02:00
Carlos Narro
9020c24e68 Actualización de título y adición de favicon en landing B2B 2026-05-28 22:55:33 +02:00
Carlos Narro
aa7555b49d Actualización de .gitignore para ignorar directorio zips/ y ajustes menores en landing 2026-05-27 17:55:11 +02:00
Carlos Narro
f5e8fd0b66 Simplificación de .gitignore para ignorar solo archivos PowerShell 2026-05-27 14:03:55 +02:00
Carlos Narro
d6cc681e4c Actualización de documentación con estado real del código y alcance del sprint 2026-05-27 12:27:16 +02:00
Carlos Narro
a9ad2d7e31 Reordenando ficheros y subida de documentacion 2026-05-27 10:27:27 +02:00
unknown
6388fcaba1 Configuracion de readme 2026-05-27 00:16:56 -04:00
unknown
986a17698b Configuracion arquitectura y estilos 2026-05-27 00:14:16 -04:00
unknown
5c47ef2e3b Configuracion de estilos excelente 2026-05-27 00:07:21 -04:00
unknown
3d063113d1 Segundo vistaso 2026-05-26 23:08:21 -04:00
unknown
bd93fb3bf2 Primer vistaso 2026-05-26 23:00:14 -04:00