Application E-Commerce

MINIME — boutique e-commerce minimaliste et durable (Django REST + Vanilla JS). Catalogue, panier, wishlist, JWT + OAuth (Google/Facebook), paiements Stripe, multilingue (EN/FR/AR) avec RTL, tableau de bord admin.

RôleDéveloppeur full-stack (solo)
Année2025
Django 6.0.3Django REST FrameworkVanilla JS ES ModulesViteMongoDB (django-mongodb-backend)Stripe APIJWTOAuth2 (Google/Facebook via django-allauth)PWAChart.js
Application E-Commerce
20+Produits au catalogue
3Langues (EN/FR/AR + RTL)
PWAInstallable, hors-ligne
76Performance Lighthouse (mobile, oct. 2026)

Le défi

  • Problème Créer un site e-commerce minimaliste et soigné pour apprendre les fondamentaux web.
  • Contraintes Équipe de 3 (majorité travail solo : cahier des charges, rapport, conception, diagrammes, présentation) ; contraintes temps/budget ; passage frontend-only → full-stack.
  • Obstacle Passage Node.js → Django + échec initial de connexion Google.
  • Cause Courbe d'apprentissage raide (changement de stack + auth).
  • Solution Persévérance, itérations successives, approche correcte.

L'approche

  • Architecture DRF + Vanilla JS (Vite) ; MongoDB (migrations compatibles).
  • Auth JWT + Google/Facebook (django-allauth).
  • Paiements Stripe + webhooks.
  • UX Design minimaliste ; EN/FR/AR + RTL ; panier/wishlist LocalStorage.
  • Fonctionnalités PWA (manifest, SW), dashboard analytics Chart.js.
  • Développement Itératif, déploiement réussi.
  • Apprentissages Autonomie + ouverture aux conseils ; persévérance/adaptabilité.
Impact

Projet terminé, présenté et déployé ; meilleure note de la classe.

Captures d'écran

Ce que je ferais différemment

  • J'ai changé le backend de Node.js vers Django en cours de projet. La prochaine fois, je validerais la stack face aux exigences d'auth et de paiement avant d'écrire l'UI.
  • La connexion Google n'a fonctionné qu'après plusieurs essais — j'ai appris à comprendre le flux de bout en bout plutôt qu'à corriger les symptômes.