Skip to content

celineharbane/ecom-utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛒 ecom-utils

TypeScript License

Librairie TypeScript utilitaire pour e-commerce : panier, promotions, TVA, devises.

✨ Fonctionnalités

  • 🛒 Cart - Gestion complète du panier (ajout, modification, suppression)
  • 🏷️ Discount - Codes promo (%, montant fixe, livraison gratuite)
  • 💰 Currency - Formatage et conversion de devises
  • 🧾 Tax - Calcul de TVA par pays

📦 Installation

npm install ecom-utils

🚀 Utilisation rapide

import { Cart, Product, Discount } from 'ecom-utils';

// Créer un panier
const cart = new Cart({ currency: 'EUR', taxRate: 20 });

// Créer un produit
const product: Product = {
  id: '1',
  name: 'T-shirt Premium',
  price: 29.90,
  currency: 'EUR',
  status: 'available',
  stock: 100,
};

// Ajouter au panier
cart.addItem(product, 2);

// Appliquer un code promo
const discount: Discount = {
  code: 'PROMO10',
  type: 'percentage',
  value: 10,
  isActive: true,
};
cart.applyDiscount(discount);

// Obtenir les totaux
const totals = cart.getTotals();
console.log(totals);
// {
//   subtotal: 59.80,
//   discountAmount: 5.98,
//   shipping: 0,
//   taxAmount: 10.76,
//   total: 64.58,
//   itemCount: 2,
//   currency: 'EUR'
// }

// Afficher le récapitulatif
cart.displaySummary();

🛠️ Développement

# Cloner le repo
git clone https://github.com/celineharbane/ecom-utils.git
cd ecom-utils

# Installer les dépendances
npm install

# Compiler TypeScript
npm run build

# Mode watch
npm run dev

# Lancer les tests
npm test

📂 Structure

ecom-utils/
├── src/
│   ├── cart/
│   │   └── Cart.ts       # Classe de gestion du panier
│   ├── types.ts          # Définitions TypeScript
│   └── index.ts          # Export principal
├── tests/
│   └── cart.test.ts      # Tests unitaires
├── package.json
├── tsconfig.json
└── README.md

📄 Licence

MIT - Céline Harbane

About

ecom-utils

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors