Application complète de gestion des commandes et de l'affiliation AWIN avec système d'authentification, tableau de bord et gestion des commandes.
- Fonctionnalités
- Technologies utilisées
- Installation
- Configuration
- Utilisation
- Structure du projet
- Base de données
- Déploiement
- Connexion/Inscription par email et mot de passe
- Système de rôles : Admin, Manager, Utilisateur
- Gestion des sessions avec Supabase Auth
- Interface moderne avec dégradés et animations
- Statistiques en temps réel des commandes
- Graphiques interactifs (statut, shops, mensuel)
- Actions rapides vers les principales fonctionnalités
- Métriques clés : total commandes, montants, taux de validation
- Tableau complet avec toutes les colonnes AWIN
- Filtres avancés : recherche, statut, shop
- Sélection multiple avec actions en lot
- Validation/Refus des commandes en un clic
- États visuels : effets de succès/erreur
- Pagination et tri des données
- Liste des partenaires et annonceurs
- Statistiques par marque
- Gestion des statuts (actif, inactif, suspendu)
- Informations détaillées : description, site web, logo
- Activité récente avec filtres temporels
- Actions rapides de validation
- Statistiques périodiques
- Alertes pour les commandes en attente
- Profil utilisateur avec informations personnelles
- Gestion des rôles et permissions
- Paramètres de sécurité
- Statistiques personnelles
- Frontend : Next.js 15, React 19, TypeScript
- Styling : Tailwind CSS avec animations personnalisées
- Backend : Supabase (PostgreSQL, Auth, RLS)
- Icons : Lucide React
- State Management : React Context API
- Node.js 18+
- npm ou yarn
- Compte Supabase
git clone <url-du-repo>
cd awin-managernpm install
# ou
yarn installcp env.example .env.localÉditez le fichier .env.local avec vos informations Supabase :
NEXT_PUBLIC_SUPABASE_URL=https://votre-projet.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
N8N_WEBHOOK_URL=https://n8n.srv893229.hstgr.cloud/webhook-test/...- Connectez-vous à votre projet Supabase
- Allez dans l'éditeur SQL
- Exécutez le script
sql/auth_schema.sql - Exécutez le script
sql/simple_profiles_setup.sql
npm run dev
# ou
yarn devL'application sera accessible sur http://localhost:3000
- Allez sur supabase.com
- Créez un nouveau projet
- Récupérez l'URL et les clés API
-- Exécuter dans l'éditeur SQL de Supabase
-- Voir sql/auth_schema.sql pour le schéma complet- Activez l'authentification par email dans Supabase
- Configurez les politiques RLS (Row Level Security)
| Variable | Description | Exemple |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL |
URL de votre projet Supabase | https://abc123.supabase.co |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Clé publique Supabase | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... |
SUPABASE_SERVICE_ROLE_KEY |
Clé de service Supabase | eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... |
N8N_WEBHOOK_URL |
URL webhook N8N (optionnel) | https://n8n.example.com/webhook/... |
- Créez un compte avec l'email
admin@awinmanager.compour obtenir le rôle admin - Ou créez un compte normal qui aura le rôle utilisateur
- Dashboard : Vue d'ensemble et statistiques
- Commandes : Gestion et validation des commandes AWIN
- Marques : Gestion des partenaires et annonceurs
- Dernières : Activité récente et commandes à traiter
- Compte : Profil et paramètres utilisateur
- Allez dans la page "Commandes"
- Utilisez les filtres pour trouver les commandes
- Sélectionnez une ou plusieurs commandes
- Cliquez sur "Valider" ou "Refuser"
- Les actions sont sauvegardées en temps réel
- Accès complet à toutes les fonctionnalités
- Gestion des utilisateurs
- Paramètres système
- Gestion des commandes et marques
- Accès aux statistiques
- Validation des commandes
- Consultation des données
- Validation des commandes
- Gestion du profil
awin-manager/
├── src/
│ ├── app/ # Pages Next.js 15 (App Router)
│ │ ├── globals.css # Styles globaux
│ │ ├── layout.tsx # Layout principal
│ │ ├── page.tsx # Dashboard
│ │ ├── auth/ # Page d'authentification
│ │ ├── ventes/ # Gestion des commandes
│ │ ├── marques/ # Gestion des marques
│ │ ├── dernieres-commandes/ # Dernières commandes
│ │ └── compte/ # Gestion du compte
│ ├── components/ # Composants réutilisables
│ │ ├── AuthForm.tsx # Formulaire d'authentification
│ │ ├── Navbar.tsx # Barre de navigation
│ │ ├── ProtectedLayout.tsx # Layout protégé
│ │ ├── DynamicStats.tsx # Statistiques dynamiques
│ │ └── OrderCharts.tsx # Graphiques des commandes
│ ├── contexts/ # Contextes React
│ │ └── AuthContext.tsx # Contexte d'authentification
│ └── lib/ # Utilitaires et configuration
│ ├── supabase.ts # Configuration Supabase
│ ├── n8nWebhook.ts # Webhooks N8N
│ └── syncShops.ts # Synchronisation des shops
├── sql/ # Scripts SQL
│ ├── auth_schema.sql # Schéma de base de données
│ └── simple_profiles_setup.sql # Configuration des profils
├── public/ # Fichiers statiques
├── package.json # Dépendances
├── tailwind.config.js # Configuration Tailwind
├── tsconfig.json # Configuration TypeScript
└── README.md # Documentation
- Informations des utilisateurs
- Rôles et permissions
- Liée à
auth.usersde Supabase
- Commandes AWIN principales
- Toutes les colonnes de l'API AWIN
- Statuts de validation
- Magasins et partenaires
- Informations de base
- Marques et annonceurs
- Statuts et descriptions
- Les utilisateurs ne peuvent voir que leurs propres données
- Les admins ont accès à tout
- Les managers peuvent gérer les commandes et marques
- Connectez votre repo GitHub à Vercel
- Configurez les variables d'environnement
- Déployez automatiquement
- Build :
npm run build - Publish directory :
.next - Configurez les variables d'environnement
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]npm run dev # Développement
npm run build # Build de production
npm run start # Serveur de production
npm run lint # Linting ESLint- Créez vos composants dans
src/components/ - Ajoutez vos pages dans
src/app/ - Utilisez TypeScript pour la robustesse
- Suivez les conventions de nommage
- Vérifiez vos variables d'environnement
- Assurez-vous que l'URL et les clés sont correctes
- Vérifiez que les politiques RLS sont configurées
- Exécutez les scripts SQL dans l'ordre
- Vérifiez que toutes les dépendances sont installées
- Assurez-vous d'utiliser Node.js 18+
Pour toute question ou problème :
- Vérifiez la documentation
- Consultez les issues GitHub
- Contactez l'équipe de développement
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
AwinManager - Gestion efficace de vos commandes AWIN 🚀