docs: record the landing deploy and document the demo build flag

README: route table for `/`, `/login` and `/b/:slug`; what `VITE_DEMO_UI` does to a
production build and how to turn the demo accounts off; the two test commands that
were missing (`test:landing`, `audit:responsive`).

progress.md: the deploy entry, including the defect it caught — the deployed bundle
had every magic-login string eliminated, so the new landing would have promised "no
registration" and led to an empty form — and the two measurement traps that cost a
false pass (a Playwright context without `hasTouch` reports `pointer: fine`, and
`GET /deployments/{uuid}` nests the application object before the deployment status).

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
AgendaPro Dev
2026-07-28 14:36:46 -06:00
co-authored by Claude Opus 5
parent 4c19244df9
commit 842a9ea07e
2 changed files with 90 additions and 6 deletions
+19 -5
View File
@@ -44,6 +44,12 @@ npm run dev
Abre http://localhost:5173 (el frontend proxya `/api` al backend en el puerto 3000).
| Ruta | Qué es |
|---|---|
| `/` | Landing pública. Con sesión abierta redirige al panel según el rol. |
| `/login` | Acceso. En fase demo ofrece entrar de un clic con las cuentas de abajo. |
| `/b/:slug` | Reserva pública del negocio, sin sesión. |
## Producción
```bash
@@ -51,6 +57,11 @@ npm run build # compila TS y empaqueta el frontend en dist/
npm start # sirve la API y el frontend estático en http://localhost:3000
```
El acceso de un clic y el selector «Ver como…» del panel viven detrás de la constante de
build `DEMO`, que en un build de producción solo se enciende con `VITE_DEMO_UI=1`. El
`Dockerfile` la declara con ese valor por defecto porque el despliegue **es** la
demostración; pasar `--build-arg VITE_DEMO_UI=0` los elimina del bundle.
## Instalar AgendaMax como app
- **Android/Chrome**: abre la URL HTTPS y selecciona la acción de instalación mostrada por AgendaMax o por la barra de direcciones del navegador.
@@ -71,10 +82,12 @@ PWA_PASSWORD=demo1234
## Tests y auditoría visual
```bash
npm run test:e2e # 22 pruebas end-to-end de la API (login, CRUD, dashboard, auto-asignación, roles, multi-tenant)
npm run test:admin # 17 pruebas del admin (crear negocio + plantilla, aislamiento, reset-demo, delete cascade)
npm run audit:visual # Playwright: navega 10 páginas × 4 viewports (móvil/tablet/desktop/wide),
# mide overflow horizontal, captura errores de consola y guarda capturas en screenshots/
npm run test:e2e # 22 pruebas end-to-end de la API (login, CRUD, dashboard, auto-asignación, roles, multi-tenant)
npm run test:admin # 17 pruebas del admin (crear negocio + plantilla, aislamiento, reset-demo, delete cascade)
npm run test:landing # WebKit: ruteo landing/login, acceso de un clic y prefers-reduced-motion
npm run audit:visual # Playwright: navega 10 páginas × 4 viewports (móvil/tablet/desktop/wide),
# mide overflow horizontal, captura errores de consola y guarda capturas en screenshots/
npm run audit:responsive # WebKit: iPhone/iPad reales — auto-zoom, safe areas, objetivos táctiles y canaletas
```
La auditoría visual verifica responsividad en 375 / 768 / 1280 / 1536 px, detecta overflow,
@@ -82,7 +95,8 @@ errores de consola y confirma que el calendario, el modal de cita y el cambio de
## Cuentas demo
Todas usan la contraseña **`demo1234`**.
Todas usan la contraseña **`demo1234`**. En `/login` se puede entrar con un clic, sin
escribirlas.
| Rol | Email | Contraseña | Nombre |
|----------|----------------------------------|------------|------------------|