Les meilleurs développeurs informatique freelances sont sur Codeur.com
Fermé · Moins de 500 € · 4 offres · 2381 vues · 6 interactions
**Objectif :**
Développer un projet démo minimaliste avec un système de routing multi-tenant fonctionnel sous **Laravel 11** et **Filament 3**.
### Exigences :
* **Panel Admin** : Accessible via admin.domain.fr.
* **Panel Tenant** : Accessible via des sous-domaines dynamiques (foo.domain.fr, bar.domain.fr).
### Structure des données (non conventionnelle pour Filament) :
* **Groups** : Regroupe plusieurs **teams** et permet à un utilisateur **admin** de gérer toutes les **teams** associées.
* **Teams** : Associée à un **group**.
* **Users** : Un utilisateur peut être associé à **une ou plusieurs teams**.
### Règles de navigation :
1. **Accès utilisateur :**
* Si un **utilisateur n’est pas connecté** et tente d’accéder à un sous-domaine (foo.domain.fr), il doit être **redirigé vers une erreur 404**.
2.**Changement de sous-domaine :**
* Le **routing** doit se faire **sur le slug du group** (foo.domain.fr).
* Un utilisateur connecté, associé à plusieurs **groups**, doit pouvoir **changer de sous-domaine sans devoir se reconnecter**.
* Si un utilisateur est associé à **un seul group** (foo.domain.fr) et tente d’accéder à une autre URL (existante ou non), il doit être **redirigé automatiquement vers le premier group auquel il est associé**.
3.**Sélection de la Team :**
* L’utilisateur peut **changer de team via un dropdown Filament** (comme le switcher de Filament).
* L’**ID de la team ne doit pas apparaître dans l’URL**, mais être stocké en **session**.
* Si ce n’est pas possible, alors **le slug de la team sera utilisé dans l’URL** (foo.domain.fr/team-slug).
4.**Super Admin (admin.domain.fr) :**
* Un utilisateur **superAdmin** connecté sur admin.domain.fr doit pouvoir **accéder à n’importe quelle team**, sans restriction.
* Le **superAdmin** doit pouvoir **naviguer entre les sous-domaines** sans devoir **se reconnecter à chaque changement** (foo.domain.fr, bar.domain.fr, etc.).
### Schéma de base de données :
* groups (id, name, slug)
* teams (id, name, slug, group_id)
* users (id, email, password)
* team_user (team_id, user_id)
* group_owner (group_id, user_id)
L’objectif est d’avoir une base propre et fonctionnelle permettant d’étendre facilement le projet par la suite.
Budget indicatif : Moins de 500 €
Publication : 01 février 2025 à 17h29
Profils recherchés : Développeur spécifique freelance , Développeur Laravel freelance
4 freelances ont répondu à ce projet
3 propositions de devis en moins de 2h