{"id":31553407,"url":"https://github.com/rinkhimera/fantribe","last_synced_at":"2025-10-04T20:24:03.706Z","repository":{"id":247986589,"uuid":"792894328","full_name":"RinKhimera/FanTribe","owner":"RinKhimera","description":"The name says everything..","archived":false,"fork":false,"pushed_at":"2025-10-02T20:20:27.000Z","size":3159,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-02T20:30:41.702Z","etag":null,"topics":["nextjs15","reactjs","tailwindcss-v4"],"latest_commit_sha":null,"homepage":"https://fantribe.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RinKhimera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-27T21:13:45.000Z","updated_at":"2025-10-02T20:20:32.000Z","dependencies_parsed_at":"2024-10-27T17:33:42.250Z","dependency_job_id":"356fb01a-85fe-4d96-9aeb-63773107df76","html_url":"https://github.com/RinKhimera/FanTribe","commit_stats":null,"previous_names":["rinkhimera/onlyscam","rinkhimera/fantribe"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RinKhimera/FanTribe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RinKhimera%2FFanTribe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RinKhimera%2FFanTribe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RinKhimera%2FFanTribe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RinKhimera%2FFanTribe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RinKhimera","download_url":"https://codeload.github.com/RinKhimera/FanTribe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RinKhimera%2FFanTribe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278367438,"owners_count":25975254,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs15","reactjs","tailwindcss-v4"],"created_at":"2025-10-04T20:24:00.851Z","updated_at":"2025-10-04T20:24:03.700Z","avatar_url":"https://github.com/RinKhimera.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"public/images/logo.png\" alt=\"FanTribe Logo\" width=\"120\" height=\"120\"\u003e\n  \n  # FanTribe\n  \n  ### Plateforme Sociale pour Créateurs de Contenu\n  \n  Une plateforme française dédiée aux créateurs et créatrices permettant de monétiser leur contenu via des abonnements, avec support de paiement mobile money africain.\n\n[![Next.js](https://img.shields.io/badge/Next.js-15-black?style=for-the-badge\u0026logo=next.js)](https://nextjs.org/)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5-blue?style=for-the-badge\u0026logo=typescript)](https://www.typescriptlang.org/)\n[![Convex](https://img.shields.io/badge/Convex-Realtime-orange?style=for-the-badge)](https://convex.dev/)\n[![Tailwind CSS](https://img.shields.io/badge/Tailwind-CSS-38bdf8?style=for-the-badge\u0026logo=tailwind-css)](https://tailwindcss.com/)\n[![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)\n\n[Demo](#) · [Documentation](docs/) · [Signaler un Bug](https://github.com/RinKhimera/fantribe/issues) · [Demander une Fonctionnalité](https://github.com/RinKhimera/fantribe/issues)\n\n\u003c/div\u003e\n\n---\n\n## 📋 Table des Matières\n\n- [✨ Fonctionnalités](#-fonctionnalités)\n- [🎯 Pour Qui ?](#-pour-qui-)\n- [🚀 Démarrage Rapide](#-démarrage-rapide)\n- [🏗️ Architecture](#️-architecture)\n- [💳 Paiements](#-paiements)\n- [📱 Captures d'Écran](#-captures-décran)\n- [🛠️ Stack Technique](#️-stack-technique)\n- [📂 Structure du Projet](#-structure-du-projet)\n- [🔐 Authentification \u0026 Sécurité](#-authentification--sécurité)\n- [🎨 Design System](#-design-system)\n- [📊 Dashboard Admin](#-dashboard-admin)\n- [🧪 Mode Test](#-mode-test)\n- [🌍 Déploiement](#-déploiement)\n- [🤝 Contributing](#-contributing)\n- [📝 License](#-license)\n- [👨‍💻 Auteur](#-auteur)\n\n---\n\n## ✨ Fonctionnalités\n\n### 🎨 Pour les Créateurs\n\n- **Gestion de Contenu**\n  - 📝 Publication de posts (texte, images, vidéos)\n  - 🔒 Contenu public ou réservé aux abonnés\n  - 💬 Système de commentaires et likes\n  - 🔖 Collections personnalisées\n  - 📊 Statistiques de performance\n\n- **Monétisation**\n  - 💰 Abonnements mensuels (1000 XAF/mois)\n  - 📱 Paiement Mobile Money (Orange Money, MTN)\n  - 💳 Paiement par carte (Stripe)\n  - 📈 Suivi des revenus en temps réel\n  - 🏆 Dashboard de performance\n\n- **Vérification Créateur**\n  - ✅ Processus de validation d'identité\n  - 📄 Upload de documents officiels\n  - 🔐 Sécurisation du compte\n  - 🎖️ Badge de créateur vérifié\n\n### 👥 Pour les Abonnés\n\n- **Expérience Sociale**\n  - 🏠 Fil d'actualité personnalisé\n  - 🔍 Découverte de créateurs\n  - ❤️ Interactions (likes, commentaires)\n  - 💌 Messagerie privée avec créateurs\n  - 🔔 Notifications en temps réel\n\n- **Abonnements**\n  - 📺 Accès au contenu exclusif\n  - 💬 Messagerie directe avec créateurs\n  - ⏰ Renouvellement automatique\n  - 📊 Historique des abonnements\n\n### 🛡️ Pour les Administrateurs\n\n- **Dashboard Superuser**\n  - 📊 Statistiques globales\n  - 👤 Gestion des utilisateurs\n  - 🎯 Modération de contenu\n  - 💰 Suivi des transactions\n  - 📈 Analyses de performance\n\n- **Modération**\n  - 🚨 Système de signalement\n  - 👮 Validation des créateurs\n  - 🔨 Actions de modération\n  - 📧 Notifications automatiques\n\n---\n\n## 🎯 Pour Qui ?\n\n### Créatrices \u0026 Créateurs\n\nArtistes, influenceurs, coachs, éducateurs qui souhaitent monétiser leur contenu et construire une communauté engagée.\n\n### Fans \u0026 Abonnés\n\nPersonnes souhaitant soutenir leurs créateurs favoris et accéder à du contenu exclusif.\n\n### Marché Cible\n\nInitialement conçu pour le marché francophone africain avec support natif du mobile money (Orange Money, MTN Mobile Money).\n\n---\n\n## 🚀 Démarrage Rapide\n\n### Prérequis\n\nAssurez-vous d'avoir installé :\n\n- [Node.js](https://nodejs.org/en) (v18 ou supérieur)\n- [Git](https://git-scm.com/)\n- [npm](https://www.npmjs.com/) ou [bun](https://bun.sh/)\n- Un compte [Convex](https://convex.dev/)\n- Un compte [Clerk](https://clerk.com/)\n\n### Installation\n\n1. **Cloner le repository**\n\n```bash\ngit clone https://github.com/RinKhimera/fantribe.git\ncd fantribe\n```\n\n2. **Installer les dépendances**\n\n```bash\nnpm install\n# ou\nbun install\n```\n\n3. **Configuration de l'environnement**\n\nCréez un fichier `.env.local` à la racine :\n\n```env\n# Backend Convex\nCONVEX_DEPLOYMENT=\nNEXT_PUBLIC_CONVEX_URL=\n\n# Authentification Clerk\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\nCLERK_SECRET_KEY=\nNEXT_PUBLIC_CLERK_SIGN_IN_URL=/auth/sign-in\nNEXT_PUBLIC_CLERK_SIGN_UP_URL=/auth/sign-up\n\n# Bunny CDN (Média)\nNEXT_PUBLIC_BUNNY_VIDEO_LIBRARY_ID=\nNEXT_PUBLIC_BUNNY_VIDEO_ACCESS_KEY=\nNEXT_PUBLIC_BUNNY_STORAGE_ZONE_NAME=\nNEXT_PUBLIC_BUNNY_STORAGE_ACCESS_KEY=\nNEXT_PUBLIC_BUNNY_CDN_HOSTNAME=\n\n# CinetPay (Mobile Money)\nNEXT_PUBLIC_CINETPAY_SITE_ID=\nNEXT_PUBLIC_CINETPAY_API_KEY=\n\n# Stripe (Cartes)\nNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=\nSTRIPE_SECRET_KEY=\nSTRIPE_WEBHOOK_SECRET=\nSTRIPE_PRICE_ID=\n\n# Email (Resend)\nRESEND_API_KEY=\n```\n\n4. **Initialiser Convex**\n\n```bash\nnpx convex dev\n```\n\n5. **Lancer le serveur de développement**\n\n```bash\nnpm run dev\n# ou\nbun run dev\n```\n\n6. **Ouvrir l'application**\n\nNaviguez vers [http://localhost:3000](http://localhost:3000)\n\n---\n\n## 🏗️ Architecture\n\n### Pattern MVC Moderne\n\n```\n├── Frontend (Next.js 15)\n│   ├── App Router (RSC)\n│   ├── Client Components\n│   └── Server Actions\n│\n├── Backend (Convex)\n│   ├── Real-time Database\n│   ├── Queries \u0026 Mutations\n│   ├── Scheduled Jobs (Crons)\n│   └── Webhooks\n│\n└── Services Externes\n    ├── Clerk (Auth)\n    ├── Bunny CDN (Média)\n    ├── CinetPay (Mobile Money)\n    ├── Stripe (Cartes)\n    └── Resend (Email)\n```\n\n### Flux de Données\n\n```mermaid\ngraph LR\n    A[Client] --\u003e B[Next.js]\n    B --\u003e C[Convex Backend]\n    C --\u003e D[Database]\n    C --\u003e E[External APIs]\n    E --\u003e F[CinetPay/Stripe]\n    E --\u003e G[Bunny CDN]\n    E --\u003e H[Clerk Auth]\n```\n\n---\n\n## 💳 Paiements\n\n### Providers Supportés\n\n#### 🇫🇷 CinetPay (Primaire)\n\n- Orange Money\n- MTN Mobile Money\n- Moov Money\n- Wave\n- Paiement carte local\n\n**Flux de paiement** :\n\n1. Utilisateur sélectionne CinetPay\n2. Redirection vers interface CinetPay\n3. Choix du moyen de paiement\n4. Confirmation mobile\n5. Webhook de confirmation\n6. Activation instantanée de l'abonnement\n\n#### 💳 Stripe (Secondaire)\n\n- Cartes Visa/Mastercard\n- Apple Pay / Google Pay\n- Pour utilisateurs internationaux\n\n**Montant** : 1000 XAF/mois (~1.50€)\n\n### Gestion des Abonnements\n\n- **Durée** : 30 jours\n- **Renouvellement** : Manuel (pas d'auto-renewal pour mobile money)\n- **Types** :\n  - `content_access` : Accès au contenu exclusif\n  - `messaging_access` : Messagerie avec créateur\n- **Statuts** :\n  - `pending` : En attente de paiement\n  - `active` : Actif\n  - `expired` : Expiré (après 30 jours)\n  - `canceled` : Annulé par l'utilisateur\n\n---\n\n## 📱 Captures d'Écran\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshots/home.png\" alt=\"Page d'accueil\" width=\"45%\"\u003e\n  \u003cimg src=\"docs/screenshots/profile.png\" alt=\"Profil créateur\" width=\"45%\"\u003e\n  \u003cimg src=\"docs/screenshots/dashboard.png\" alt=\"Dashboard\" width=\"45%\"\u003e\n  \u003cimg src=\"docs/screenshots/messages.png\" alt=\"Messagerie\" width=\"45%\"\u003e\n\u003c/div\u003e\n\n---\n\n## 🛠️ Stack Technique\n\n### Frontend\n\n| Technologie         | Usage                   | Version |\n| ------------------- | ----------------------- | ------- |\n| **Next.js**         | Framework React         | 15.x    |\n| **TypeScript**      | Typage statique         | 5.x     |\n| **Tailwind CSS**    | Styling                 | 3.x     |\n| **shadcn/ui**       | Composants UI           | Latest  |\n| **Lucide React**    | Icônes                  | Latest  |\n| **React Hook Form** | Gestion des formulaires | Latest  |\n| **Zod**             | Validation              | Latest  |\n| **date-fns**        | Manipulation dates      | Latest  |\n\n### Backend \u0026 Services\n\n| Service       | Usage                                    |\n| ------------- | ---------------------------------------- |\n| **Convex**    | Backend real-time, Database NoSQL        |\n| **Clerk**     | Authentification (OAuth, Email/Password) |\n| **Bunny CDN** | Stockage et streaming vidéo              |\n| **CinetPay**  | Paiements mobile money africains         |\n| **Stripe**    | Paiements par carte bancaire             |\n| **Resend**    | Envoi d'emails transactionnels           |\n\n### DevOps\n\n- **Vercel** : Hosting \u0026 déploiement continu\n- **GitHub Actions** : CI/CD (optionnel)\n- **ESLint \u0026 Prettier** : Qualité du code\n\n---\n\n## 📂 Structure du Projet\n\n```\nfantribe/\n├── app/                          # Next.js App Router\n│   ├── (app-pages)/             # Pages authentifiées\n│   │   ├── (superuser)/        # Routes admin\n│   │   │   └── superuser/\n│   │   │       ├── transactions/    # Dashboard transactions\n│   │   │       ├── creator-applications/\n│   │   │       └── reports/\n│   │   ├── [username]/         # Profil utilisateur dynamique\n│   │   ├── messages/           # Messagerie\n│   │   ├── explore/            # Découverte\n│   │   └── notifications/\n│   ├── (auth)/                 # Authentification\n│   └── api/                    # API Routes (webhooks)\n│       ├── stripe/\n│       ├── notification/       # CinetPay webhook\n│       └── bunny/\n│\n├── components/                  # Composants React\n│   ├── ui/                     # shadcn/ui components\n│   ├── shared/                 # Composants partagés\n│   ├── home/                   # Feed principal\n│   ├── profile/                # Profil \u0026 abonnements\n│   └── messages/               # Chat\n│\n├── convex/                     # Backend Convex\n│   ├── schema.ts              # Schéma de la base de données\n│   ├── users.ts               # Gestion utilisateurs\n│   ├── posts.ts               # Publications\n│   ├── subscriptions.ts       # Abonnements\n│   ├── transactions.ts        # Paiements\n│   ├── messages.ts            # Messagerie\n│   ├── notifications.ts       # Notifications\n│   ├── crons.ts               # Tâches planifiées\n│   └── internalActions.ts     # Actions internes\n│\n├── hooks/                      # Custom React Hooks\n├── lib/                        # Utilitaires\n│   ├── bunny.ts               # SDK Bunny CDN\n│   ├── logger.ts              # Logger structuré\n│   └── utils.ts\n│\n├── schemas/                    # Schémas Zod\n├── types/                      # Types TypeScript\n├── actions/                    # Server Actions\n└── docs/                       # Documentation\n    ├── TRANSACTIONS_DASHBOARD_GUIDE.md\n    ├── TEST_MODE_TRANSACTIONS.md\n    ├── LOGGER_GUIDE.md\n    └── ENV_GUIDE.md\n```\n\n---\n\n## 🔐 Authentification \u0026 Sécurité\n\n### Clerk Authentication\n\n- **Méthodes** : Email/Mot de passe, OAuth (Google, Facebook)\n- **Localisation** : Interface en français (`frFR`)\n- **Onboarding** : Flow de complétion de profil\n- **Token Exchange** : Convex ↔ Clerk via `tokenIdentifier`\n\n### Types d'Utilisateurs\n\n```typescript\naccountType: \"USER\" | \"CREATOR\" | \"SUPERUSER\"\n```\n\n- **USER** : Utilisateur standard (peut s'abonner)\n- **CREATOR** : Créateur vérifié (peut recevoir des abonnements)\n- **SUPERUSER** : Administrateur (accès dashboard admin)\n\n### Sécurité des Données\n\n- ✅ Validation Zod côté client \u0026 serveur\n- ✅ Authentification requise pour toutes les mutations\n- ✅ Vérification des permissions (accountType)\n- ✅ Filtrage des utilisateurs bloqués\n- ✅ Sanitization des inputs utilisateur\n- ✅ Rate limiting (Convex)\n- ✅ HTTPS obligatoire en production\n\n---\n\n## 🎨 Design System\n\n### Thème\n\n- **Mode** : Light / Dark (système)\n- **Couleurs** : Personnalisables via CSS variables\n- **Font** : System fonts (optimisé performance)\n\n### Composants UI\n\nBasés sur [shadcn/ui](https://ui.shadcn.com/) :\n\n- Button, Card, Dialog, Dropdown\n- Form, Input, Select, Textarea\n- Avatar, Badge, Separator\n- Toast, Alert, Skeleton\n- Table, Tabs, Tooltip\n\n### Responsive Design\n\n- **Mobile First** : Design pensé mobile d'abord\n- **Breakpoints** :\n  - `sm`: 640px\n  - `md`: 768px\n  - `lg`: 1024px\n  - `xl`: 1280px\n\n### Layout Pattern\n\n```tsx\n\u003cResponsiveLayout\u003e\n  \u003cLeftSidebar /\u003e {/* Navigation */}\n  \u003cMainContent /\u003e {/* Feed, profil, etc. */}\n  \u003cRightSidebar /\u003e {/* Suggestions, abonnement */}\n\u003c/ResponsiveLayout\u003e\n```\n\n---\n\n## 📊 Dashboard Admin\n\n### Accès\n\n**URL** : `/superuser`  \n**Permissions** : `accountType === \"SUPERUSER\"`\n\n### Fonctionnalités\n\n#### 📈 Statistiques Globales\n\n- Nombre total d'utilisateurs\n- Posts publiés\n- Candidatures créateurs\n- Taux d'approbation\n\n#### 💰 Dashboard Transactions (`/superuser/transactions`)\n\n**Filtres** :\n\n- Période (2 semaines, 1 mois, 3 mois, 6 mois, 1 an)\n- Créatrice spécifique\n- Moyen de paiement (Stripe/CinetPay)\n\n**Statistiques Affichées** :\n\n- Revenu total de la période\n- Nombre de transactions\n- Créatrices actives\n- Montant moyen par transaction\n- Top 5 earners\n- Low 5 earners\n\n**Tableau Détaillé** :\n\n- Date et heure\n- Créatrice (avatar, nom, username)\n- Abonné (avatar, nom, username)\n- Moyen de paiement (badge)\n- Devise\n- Montant formaté\n\n**Actions** :\n\n- Export CSV (à venir)\n- Filtrage avancé\n- Tri des données\n\n#### 🎯 Modération\n\n- Validation des créateurs\n- Signalements (posts, utilisateurs, commentaires)\n- Actions de modération\n\n---\n\nPour tester le dashboard sans données réelles :\n\n**Fichier** : `app/(app-pages)/(superuser)/superuser/transactions/page.tsx`\n\n```typescript\nconst USE_TEST_DATA = true // Mode test\n```\n\n**Données générées** :\n\n- 30 transactions sur 2 semaines\n- 5 créatrices fictives\n- 6 abonnés fictifs\n- Montants : 1000 XAF/transaction\n- Providers : 70% CinetPay, 30% Stripe\n\n**Désactivation** :\n\n```typescript\nconst USE_TEST_DATA = false // Production\n```\n\n📖 **Guide complet** : [`docs/TEST_MODE_TRANSACTIONS.md`](docs/TEST_MODE_TRANSACTIONS.md)\n\n---\n\n## 🌍 Déploiement\n\n### Vercel (Recommandé)\n\n1. **Push sur GitHub**\n\n```bash\ngit push origin main\n```\n\n2. **Importer dans Vercel**\n   - Connecter le repository\n   - Configurer les variables d'environnement\n   - Déployer\n\n3. **Configurer les Webhooks**\n   - CinetPay → `https://votredomaine.com/api/notification`\n   - Stripe → `https://votredomaine.com/api/stripe`\n\n### Variables d'Environnement Production\n\n⚠️ **IMPORTANT** : Désactiver le mode test avant le déploiement !\n\n```typescript\n// Dans transactions/page.tsx\nconst USE_TEST_DATA = false // ✅ PRODUCTION\n```\n\n### Convex Production\n\n```bash\nnpx convex deploy\n```\n\nConfigurez `CONVEX_DEPLOYMENT` avec l'URL de production.\n\n---\n\n## 🤝 Contributing\n\nLes contributions sont les bienvenues ! Voici comment contribuer :\n\n### 1. Fork le Projet\n\n```bash\ngit clone https://github.com/votre-username/fantribe.git\n```\n\n### 2. Créer une Branche\n\n```bash\ngit checkout -b feature/AmazingFeature\n```\n\n### 3. Commit vos Changements\n\n```bash\ngit commit -m 'Add: Nouvelle fonctionnalité incroyable'\n```\n\nUtilisez les préfixes conventionnels :\n\n- `Add:` Nouvelle fonctionnalité\n- `Fix:` Correction de bug\n- `Update:` Mise à jour\n- `Refactor:` Refactorisation\n- `Docs:` Documentation\n\n### 4. Push vers la Branche\n\n```bash\ngit push origin feature/AmazingFeature\n```\n\n### 5. Ouvrir une Pull Request\n\nDécrivez clairement :\n\n- Le problème résolu\n- Les changements apportés\n- Les tests effectués\n- Les captures d'écran (si UI)\n\n### Guidelines\n\n- ✅ Code en TypeScript\n- ✅ Suivre les conventions du projet\n- ✅ Commenter le code complexe\n- ✅ Tester localement avant PR\n- ✅ UI en français\n- ✅ Responsive design obligatoire\n\n---\n\n## 📝 License\n\nCe projet est sous licence **MIT**. Voir le fichier [LICENSE](LICENSE) pour plus de détails.\n\n```\nMIT License\n\nCopyright (c) 2025 Samuel Pokam\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files...\n```\n\n---\n\n## 👨‍💻 Auteur\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/RinKhimera.png\" width=\"100\" style=\"border-radius: 50%\"\u003e\n  \n  **Samuel Pokam**\n  \n  Développeur Full Stack | Next.js \u0026 React Enthusiast\n  \n  [![GitHub](https://img.shields.io/badge/GitHub-RinKhimera-181717?style=for-the-badge\u0026logo=github)](https://github.com/RinKhimera)\n  [![LinkedIn](https://img.shields.io/badge/LinkedIn-Samuel_Pokam-0077B5?style=for-the-badge\u0026logo=linkedin)](https://linkedin.com/in/samuel-pokam)\n  [![Twitter](https://img.shields.io/badge/Twitter-@RinKhimera-1DA1F2?style=for-the-badge\u0026logo=twitter)](https://twitter.com/RinKhimera)\n  [![Portfolio](https://img.shields.io/badge/Portfolio-samuelpokam.dev-FF5722?style=for-the-badge\u0026logo=google-chrome)](https://samuelpokam.com)\n\u003c/div\u003e\n\n---\n\n## 🙏 Remerciements\n\n- [Next.js](https://nextjs.org/) - Framework React\n- [Convex](https://convex.dev/) - Backend real-time\n- [Clerk](https://clerk.com/) - Authentification\n- [shadcn/ui](https://ui.shadcn.com/) - Composants UI\n- [Bunny CDN](https://bunny.net/) - Stockage média\n- [CinetPay](https://cinetpay.com/) - Paiements mobiles\n- [Stripe](https://stripe.com/) - Paiements cartes\n\n---\n\n## 📞 Support\n\n- 📧 Email : [dixiades@gmail.com](mailto:dixiades@gmail.com)\n- 🐛 Issues : [GitHub Issues](https://github.com/RinKhimera/fantribe/issues)\n- 💬 Discussions : [GitHub Discussions](https://github.com/RinKhimera/fantribe/discussions)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \n  ### ⭐ Si vous aimez ce projet, donnez-lui une étoile !\n  \n  **FanTribe** - Construire une communauté, monétiser sa passion\n  \n  Made with ❤️\n  \n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frinkhimera%2Ffantribe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frinkhimera%2Ffantribe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frinkhimera%2Ffantribe/lists"}