> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ezagroup.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Catalogue de badges

> Tous les badges eza et comment les obtenir

<CardGroup cols={2}>
  <Card title="Automatiques" color="#38aadc" icon="sparkles">
    Déclenchés par une action (première publication, 100 abonnés...).
  </Card>

  <Card title="Manuels" color="#a78bfa" icon="user-check">
    Attribués par l'admin via `adminAssignBadge`.
  </Card>

  <Card title="Certifications" color="#f59e0b" icon="badge-check">
    Badge officiel après validation identité.
  </Card>

  <Card title="Affiliation" color="#1dd8b4" icon="building">
    Attribué par une organisation Business à ses membres.
  </Card>
</CardGroup>

## L'entité `BadgeType`

| Champ          | Description                              |
| -------------- | ---------------------------------------- |
| `key`          | Clé unique (`first_post`, `verified`...) |
| `name`         | Nom affiché                              |
| `description`  | Comment l'obtenir                        |
| `icon`         | Icône Lucide                             |
| `color`        | Couleur du badge                         |
| `is_automatic` | Attribué automatiquement                 |
| `is_public`    | Visible sur le profil                    |
| `rarity`       | `common`, `rare`, `epic`, `legendary`    |

## L'entité `Badge`

| Champ        | Description               |
| ------------ | ------------------------- |
| `user_id`    | Bénéficiaire              |
| `badge_key`  | Référence `BadgeType.key` |
| `awarded_at` | Date d'attribution        |
| `awarded_by` | User admin ou système     |
| `context`    | JSON contextuel           |
| `is_pinned`  | Épinglé en haut du profil |

## Catégories

### Onboarding

<CardGroup cols={3}>
  <Card title="Premier post" color="#38aadc" icon="pen-square" />

  <Card title="Premier commentaire" color="#38aadc" icon="message-circle" />

  <Card title="Bio complète" color="#38aadc" icon="user" />

  <Card title="Avatar" color="#38aadc" icon="image" />

  <Card title="Première story" color="#38aadc" icon="circle-play" />

  <Card title="Premier follow" color="#38aadc" icon="user-plus" />
</CardGroup>

### Engagement

<CardGroup cols={3}>
  <Card title="100 abonnés" color="#a78bfa" icon="users" />

  <Card title="1 000 abonnés" color="#a78bfa" icon="users" />

  <Card title="10 000 abonnés" color="#f59e0b" icon="trophy" />

  <Card title="Post viral" color="#ef4444" icon="flame" />

  <Card title="Série 30j" color="#22c55e" icon="calendar-check" />
</CardGroup>

### Statut & confiance

<CardGroup cols={3}>
  <Card title="Certifié" color="#38aadc" icon="badge-check" />

  <Card title="Business" color="#f59e0b" icon="briefcase" />

  <Card title="VIP" color="#a78bfa" icon="gem" />

  <Card title="Pilote drone" color="#1dd8b4" icon="drone" />

  <Card title="Event manager" color="#38aadc" icon="calendar-days" />
</CardGroup>

### Communauté

<CardGroup cols={3}>
  <Card title="Fondateur communauté" color="#f59e0b" icon="crown" />

  <Card title="Moderateur" color="#a78bfa" icon="shield" />

  <Card title="Contributeur forum" color="#38aadc" icon="messages-square" />

  <Card title="Host space" color="#ef4444" icon="radio" />

  <Card title="Parrain top" color="#22c55e" icon="handshake" />
</CardGroup>

### Économie

<CardGroup cols={3}>
  <Card title="Premier achat" color="#38aadc" icon="shopping-bag" />

  <Card title="Donateur" color="#ef4444" icon="heart" />

  <Card title="Grand donateur" color="#f59e0b" icon="crown" />

  <Card title="Investisseur" color="#22c55e" icon="trending-up" />
</CardGroup>

<Tip>
  **Badges épinglés.** Vous pouvez épingler jusqu'à 3 badges qui apparaîtront en gros sur votre profil. Les autres sont visibles dans l'onglet « Badges ».
</Tip>

## Fonctions backend

| Fonction           | Rôle                       |
| ------------------ | -------------------------- |
| `awardBadge`       | Attribution automatique    |
| `adminAssignBadge` | Attribution manuelle       |
| `pinBadge`         | Épingle sur profil         |
| `getUserBadges`    | Liste des badges d'un user |
