Kcnyx - Plateforme E-Commerce SaaS
Durée
Projet personnel continu (2024 - Présent)
Équipe
Projet individuel
Mon Rôle
Développeur Full-Stack - Conception, développement et déploiement complet de la plateforme
Technologies Utilisées
Contexte
Kcnyx est une plateforme e-commerce moderne que j'ai conçue et développée de A à Z pour vendre des services numériques (comptes gaming, outils IA, IPTV, streaming, etc.). Le projet est né d'une volonté de créer une solution e-commerce complète, sécurisée et performante intégrant des méthodes de paiement alternatives (Revolut et crypto-monnaies).
Le site est en production sur kcnyx.com et intègre des fonctionnalités avancées : authentification sécurisée, système de paiements multi-méthodes avec vérification automatique via blockchain, gestion administrative complète, système d'avis clients modulaire, et codes promotionnels.
L'architecture repose sur Next.js 16 avec le nouveau App Router, TypeScript strict, Tailwind CSS 4 pour le styling, Prisma ORM pour la base de données MySQL hébergée sur AWS RDS, et NextAuth.js pour l'authentification. Le site est déployé sur Vercel avec Blob Storage pour les images.
Objectifs
- 1.E-commerce complet : Créer une plateforme fonctionnelle avec catalogue de produits, variantes (durées d'abonnement, plans), panier persistant, et système de commandes.
- 2.Paiements multi-méthodes : Intégrer Revolut (virement SEPA instantané) et crypto-monnaies (BTC, SOL, USDC/USDT) avec vérification automatique des paiements via l'API Blockchair.
- 3.Gestion administrative : Dashboard complet pour gérer produits (CRUD), commandes, utilisateurs, codes promo, et avis clients avec modération.
- 4.Sécurité enterprise : Implémenter rate limiting (login 5/15min, register 3/h), validation Zod stricte, hachage bcrypt, protection CSRF, et vérification des stocks.
- 5.UX premium : Interface moderne avec Tailwind CSS 4, animations fluides, responsive design, et expérience utilisateur soignée du catalogue au checkout.
Approche Technique
Le projet a été développé avec Next.js 16 et le nouveau App Router pour bénéficier du Server-Side Rendering et des Server Components. J'ai utilisé TypeScript en mode strict (aucun 'any') pour garantir la sûreté du code.
Architecture e-commerce :
- •Catalogue produits : Système de catégories (Gaming, AI Tools, IPTV, Streaming, etc.) avec variantes de produits (durées, plans, éditions) et gestion du stock en temps réel.
- •Panier : Context API React avec persistance localStorage pour maintenir le panier entre les sessions.
- •Checkout : Formulaire multi-étapes avec sélection de méthode de paiement, calcul automatique des totaux, application des codes promo, et vérification du stock avant validation.
Système de paiements avancé :
- •Revolut : Paiement instantané via Revolut.Me ou virement SEPA avec IBAN. Vérification manuelle côté admin (TODO: intégration API Revolut Business ou Bridge API pour automatisation).
- •Crypto : Support BTC (Bitcoin), SOL (Solana), USDC/USDT (Polygon/Ethereum). Conversion EUR → Crypto via CoinGecko API (free). Vérification automatique via Blockchair API - polling toutes les 30s pour détecter la transaction sur la blockchain avec tolérance 1% pour les fluctuations.
Sécurité multi-couches :
- •Rate limiting multi-couches (Upstash Redis) : login 5/15min, register 3/h, contact 5/15min, API 100/min.
- •Validation stricte avec Zod sur toutes les entrées utilisateur (8 schémas de validation).
- •Hachage sécurisé des mots de passe avec bcryptjs (10 rounds).
- •Protection CSRF intégrée via NextAuth.js.
- •Vérification du stock avant chaque commande pour éviter les surventes.
Base de données Prisma :
- •8 modèles principaux : User, Product, ProductVariant, Order, OrderItem, PromoCode, Review, Conversation.
- •Relations complexes : produits avec variantes, commandes avec items, avis par commande/produit.
- •Indexes optimisés sur category, featured, available, code, active pour les performances.
Services externes :
- •Resend : Emails transactionnels avec templates React Email (confirmation commande, paiement validé, rappel paiement).
- •Discord : Webhooks pour notifier l'équipe des nouvelles commandes avec détails (items, client, total).
- •Vercel Blob : Stockage d'images produits avec optimization automatique.
- •Blockchair API : Vérification automatique des paiements crypto sur les blockchains BTC, SOL, ETH/Polygon.
Architecture
Application Next.js 16 full-stack déployée sur Vercel :
Frontend :
- •Next.js 16 App Router avec Server Components et Server Actions
- •React 19 avec Hooks (useState, useEffect, useContext)
- •Tailwind CSS 4 pour le styling moderne et responsive
- •Context API pour gestion du panier (CartContext)
- •Composants réutilisables : ProductCard, CheckoutForm, ReviewsCarousel, AdminNav
Backend :
- •API Routes Next.js : 33 endpoints REST (auth, orders, products, admin, payments)
- •NextAuth.js 5 pour l'authentification JWT + Credentials
- •Prisma ORM pour les requêtes base de données
- •Validation Zod sur toutes les entrées
- •Rate limiting avec Upstash Redis
Base de Données :
- •MySQL sur AWS RDS
- •8 modèles Prisma avec relations complexes
- •Indexes optimisés pour performances
Services Externes :
- •Resend pour les emails transactionnels
- •Discord Webhooks pour notifications équipe
- •Vercel Blob pour stockage d'images
- •Blockchair API pour vérification paiements crypto
- •CoinGecko API pour conversion EUR → Crypto
Déploiement :
- •Vercel pour le frontend et les API Routes
- •MySQL AWS RDS pour la base de données
- •Upstash Redis pour le rate limiting
- •Vercel Blob Storage pour les images
Compétences Développées
Next.js 16 & React 19
Maîtrise du nouveau App Router Next.js 16 avec Server Components, Server Actions, et React 19. Architecture full-stack avec SSR et CSR optimisés.
TypeScript strict & Zod
Types TypeScript stricts sans aucun 'any', validation Zod sur toutes les entrées utilisateur. 8 schémas de validation pour garantir la sûreté du code.
Prisma ORM & MySQL
Modélisation base de données avec 8 modèles Prisma, relations complexes, indexes optimisés. Migration et seed automatisés. MySQL sur AWS RDS.
Paiements multi-méthodes avancés
Intégration Revolut (virement SEPA) et crypto-monnaies (BTC, SOL, USDC/USDT) avec vérification automatique via Blockchair API. Conversion EUR → Crypto via CoinGecko API.
Sécurité enterprise
Rate limiting multi-couches (5-100 req/période), hachage bcrypt, protection CSRF, validation stricte Zod, vérification stocks. Types TypeScript stricts (0 any).
API REST complète
33 endpoints API REST bien structurés avec gestion d'erreurs robuste, validation entrées, et responses typées. Authentication NextAuth.js sur routes protégées.
Extraits de Code
Vérification automatique paiements crypto
Loading...
Système de vérification automatique des paiements crypto via l'API Blockchair. La fonction poll la blockchain toutes les 30 secondes pour détecter les transactions entrantes correspondant au montant attendu avec une tolérance de 1% pour les fluctuations de prix.
Résultats & Bilan
Plateforme e-commerce fonctionnelle déployée en production sur kcnyx.com avec toutes les fonctionnalités implémentées : catalogue de produits avec variantes, panier persistant, système de commandes, paiements multi-méthodes (Revolut + Crypto), dashboard administrateur complet, et système d'avis clients.
Réflexion & Apprentissages
Ce projet m'a permis de maîtriser le développement full-stack avec Next.js 16 et TypeScript strict. L'intégration des paiements crypto via Blockchair API a été un défi technique enrichissant, m'obligeant à comprendre le fonctionnement des blockchains à un niveau technique.