Le tableau de bord de l'agence
Ce que fait le back-office : la vue d'ensemble avec sa carte, les pages de la barre latérale, les paramètres de l'agence, les notifications et la connexion.
Pour le pack Full Stack
Pages
Chaque page existe en anglais sous /en et en arabe sous /ar. Le tableau de bord s'ouvre sur /en/dashboard, après la connexion sur /en/auth/login. Chaque élément de la barre latérale n'apparaît que si l'admin connecté détient sa permission.
| Élément de la barre latérale | Chemin | Permission | Rôle |
|---|---|---|---|
| Vue d'ensemble | /en/dashboard | overview.view | Les biens, les demandes et les visites en un coup d'œil, avec la carte des biens. |
| Assistant IA | /en/dashboard/ai-assistant | ai_chat.use | Un chat qui lit et agit sur les biens, les demandes et les visites, et qui dessine des graphiques. |
| Biens | /en/dashboard/properties | properties.view | La liste avec onglets de statut, recherche et filtres, et l'éditeur de bien. |
| Demandes | /en/dashboard/leads | leads.view | Les demandes venues du site, avec un panneau de détail. |
| Visites | /en/dashboard/viewings | viewings.view | Les visites demandées et confirmées. |
| Studio de mise en scène | /en/dashboard/studio | staging.view | Meublez les pièces vides avec des aperçus IA et approuvez-les pour le site. |
| Paramètres | /en/dashboard/settings | Aucune (chaque onglet a la sienne) | Agence, Page d'accueil, Quartiers, Profil et Sécurité. |
| Gestion des admins | /en/dashboard/admins-management | admins.view | Les comptes de l'équipe et leurs rôles. |
| Rôles des admins | /en/dashboard/admins-roles | roles.view | Rôles et permissions. |
Une palette de recherche dans la barre du haut trouve les pages, les biens, les demandes et les visites, la cloche contient les notifications, et « View website » ouvre NEXT_PUBLIC_SITE_URL. Une page ouverte par son adresse sans la permission affiche à la place « This page is not part of your role », le même refus que celui de l'API.
La vue d'ensemble
- Les biens publiés, à vendre et à louer, les demandes reçues ces sept derniers jours, les visites des sept prochains jours et celles encore en attente de confirmation.
- Les dernières demandes, les prochaines visites, les trois biens mis à jour le plus récemment et un bien à la une.
- Une carte des biens publiés qui ont des coordonnées, jusqu'à 250, dessinée avec des tuiles OpenFreeMap.
Paramètres
Les paramètres ont cinq onglets. Profil et Sécurité appartiennent à l'admin connecté ; les autres demandent une permission pour les voir et une autre pour enregistrer.
| Onglet | Permission | Ce qu'elle définit |
|---|---|---|
| Agence | settings.view, settings.edit pour enregistrer | Le nom, l'e-mail de contact et la ville de l'agence, ainsi que son titre et sa courte description en anglais et en arabe. La devise est l'AED et le fuseau horaire Asia/Dubai ; le site est toujours livré dans les deux langues. |
| Page d'accueil | settings.view, settings.edit pour enregistrer | Les trois biens que la page d'accueil du site met en avant, dans l'ordre (biens publiés uniquement), et le bien vitrine dont la page d'accueil montre la pièce mise en scène approuvée. |
| Quartiers | neighborhoods.view, et créer, modifier ou supprimer | Le nom de chaque zone dans les deux langues, son slug, la ville, une courte description, la photo de couverture, l'ordre de tri, et si elle est mise à la une et affichée. Ses biens continuent d'exister quand une zone est supprimée. |
| Profil | Aucune : chaque admin enregistre le sien | La photo, le prénom et le nom, l'e-mail et le téléphone de l'admin connecté. |
| Sécurité | Aucune | Le mot de passe de l'admin connecté. |
Le logo de la marque ne se téléverse pas ici : il vient des fichiers de marque du projet.
Notifications
- Une nouvelle demande notifie chaque admin qui peut voir les demandes, et une demande de visite chaque admin qui peut voir les visites. Un aperçu de mise en scène terminé ou échoué notifie l'admin qui l'a lancé.
- Elles arrivent en direct, avec un court message à l'écran, et la cloche liste les 30 plus récentes. Chacune est conservée 30 jours, jusqu'à ce qu'elle soit lue ou supprimée.
- Rien n'est envoyé par e-mail : le template n'a pas de service d'e-mail.
- La connexion en direct utilise
NEXT_PUBLIC_WEBSOCKET_BASE_URL, l'adresse de l'API sans/api. Un rechargement affiche toujours les dernières lignes ; seules les mises à jour en direct dépendent de la connexion.
Connexion
- Le formulaire de connexion démarre vide. Se souvenir de moi garde la session après la fermeture du navigateur, jusqu'à l'expiration du jeton de l'API (sept jours par défaut) ; décochez-le et la session se termine avec le navigateur ou l'onglet.
- Un mauvais e-mail et un mauvais mot de passe donnent le même message, « Invalid email or password », si bien que le formulaire ne dit jamais à personne quelles adresses ont un compte. Après dix tentatives échouées en quinze minutes depuis une adresse, le formulaire demande de réessayer dans quelques minutes.
- Quand l'API refuse une session (un jeton expiré ou révoqué), le tableau de bord se déconnecte et ouvre la page de connexion. Un changement des rôles d'un admin l'atteint pendant qu'il est connecté.
Comment le code du tableau de bord s'articule
Inclus avec votre achat. Connectez-vous pour le lire, ou ouvrez-le dans votre téléchargement.
La structure du code, et les recettes pour ajouter une page, une traduction et un service API.