El panel de la agencia
Qué hace el back office: el resumen con su mapa, las páginas de la barra lateral, los ajustes de la agencia, las notificaciones y el inicio de sesión.
Para el paquete Full Stack
Páginas
Cada página existe en inglés bajo /en y en árabe bajo /ar. El panel se abre en /en/dashboard, después del inicio de sesión en /en/auth/login. Cada elemento de la barra lateral solo aparece cuando el administrador con sesión iniciada tiene su permiso.
| Elemento de la barra lateral | Ruta | Permiso | Qué hace |
|---|---|---|---|
| Resumen | /en/dashboard | overview.view | Propiedades, consultas y visitas de un vistazo, con el mapa de propiedades. |
| Asistente de IA | /en/dashboard/ai-assistant | ai_chat.use | Un chat que lee y actúa sobre propiedades, consultas y visitas, y dibuja gráficos. |
| Propiedades | /en/dashboard/properties | properties.view | La lista con pestañas de estado, búsqueda y filtros, y el editor de propiedades. |
| Contactos | /en/dashboard/leads | leads.view | Consultas del sitio web, con un panel de detalle. |
| Visitas | /en/dashboard/viewings | viewings.view | Visitas solicitadas y confirmadas. |
| Estudio de amueblado | /en/dashboard/studio | staging.view | Amuebla estancias vacías con vistas previas de IA y apruébalas para el sitio web. |
| Ajustes | /en/dashboard/settings | Ninguno (cada pestaña tiene el suyo) | Agencia, Página de inicio, Barrios, Perfil y Seguridad. |
| Gestión de administradores | /en/dashboard/admins-management | admins.view | Cuentas del equipo y sus roles. |
| Roles de administrador | /en/dashboard/admins-roles | roles.view | Roles y permisos. |
Una paleta de búsqueda en la barra superior encuentra páginas, propiedades, consultas y visitas, la campana contiene las notificaciones, y "View website" abre NEXT_PUBLIC_SITE_URL. Una página abierta por su dirección sin el permiso muestra en su lugar "This page is not part of your role", el mismo rechazo que da la API.
El resumen
- Propiedades publicadas, en venta y en alquiler, las consultas recibidas en los últimos siete días, las visitas de los próximos siete días y las que aún esperan confirmación.
- Las últimas consultas, las próximas visitas, las tres propiedades actualizadas más recientemente y una propiedad destacada.
- Un mapa de las viviendas publicadas que tienen coordenadas, hasta 250, dibujado con teselas de OpenFreeMap.
Ajustes
Ajustes tiene cinco pestañas. Perfil y Seguridad pertenecen al administrador con sesión iniciada; las demás necesitan un permiso para verse y otro para guardar.
| Pestaña | Permiso | Qué define |
|---|---|---|
| Agencia | settings.view, settings.edit para guardar | El nombre, el correo de contacto y la ciudad de la agencia, y su título y descripción corta en inglés y árabe. La moneda es AED y la zona horaria Asia/Dubai; el sitio web siempre se entrega en ambos idiomas. |
| Página de inicio | settings.view, settings.edit para guardar | Las tres viviendas que destaca la página de inicio del sitio web, en orden (solo viviendas publicadas), y la vivienda escaparate cuya estancia amueblada aprobada muestra la página de inicio. |
| Barrios | neighborhoods.view, y crear, editar o eliminar | El nombre de cada zona en ambos idiomas, slug, ciudad, descripción corta, foto de portada, orden, y si está destacada y visible. Sus viviendas siguen existiendo cuando se elimina una zona. |
| Perfil | Ninguno: cada administrador guarda el suyo | La foto, el nombre y apellido, el correo y el teléfono del administrador con sesión iniciada. |
| Seguridad | Ninguno | La contraseña del administrador con sesión iniciada. |
El logotipo de la marca no se sube aquí: viene de los archivos de marca del proyecto.
Notificaciones
- Una nueva consulta notifica a cada administrador que puede ver consultas, y una solicitud de visita a cada administrador que puede ver visitas. Una vista previa de amueblado terminada o fallida notifica al administrador que la inició.
- Llegan en directo, con un mensaje breve en pantalla, y la campana lista las 30 más recientes. Cada una se conserva 30 días, hasta que se lee o se quita.
- No se envía nada por correo: la plantilla no tiene servicio de correo.
- La conexión en directo usa
NEXT_PUBLIC_WEBSOCKET_BASE_URL, la dirección de la API sin/api. Una recarga siempre muestra las últimas filas; solo las actualizaciones en directo dependen de la conexión.
Inicio de sesión
- El formulario de inicio de sesión empieza vacío. Remember me mantiene la sesión después de cerrar el navegador, hasta que caduca el token de la API (siete días por defecto); desmárcalo y la sesión termina con el navegador o la pestaña.
- Un correo incorrecto y una contraseña incorrecta se leen igual, "Invalid email or password", así que el formulario nunca dice a nadie qué direcciones tienen una cuenta. Tras diez intentos fallidos en quince minutos desde una misma dirección, el formulario dice que se vuelva a intentar en unos minutos.
- Cuando la API rechaza una sesión (un token caducado o revocado), el panel cierra la sesión y abre la página de inicio de sesión. Un cambio en los roles de un administrador le llega mientras tiene la sesión iniciada.
Cómo encaja el código del panel
Incluido con tu compra. Inicia sesión para leerlo o ábrelo en tu descarga.
La estructura del código, y las recetas para añadir una página, una traducción y un servicio de API.