Backend de commerce électronique pexita
Un système backend robuste et axé sur les événements construit avec .NET 8, mettant en œuvre des modèles d'architecture modernes et les meilleures pratiques pour les opérations de vente au détail en ligne évolutives.
Caractéristiques
Fonctionnalité de base
Gestion de la marque
- Les marques peuvent s'inscrire comme rôle de marque
- Les marques peuvent créer et partager leurs propres produits sous leur nom
- Support complet pour la gestion des commandes
- Validation stricte sur la création des commandes
Gestion des produits
- Opérations CRUD complètes pour les produits
- Prise en charge des images de produits avec validation
- Catégorisation de produit avec des balises
- Système de notation et de commentaires
- Association de marque
Gestion des utilisateurs
- Authentification utilisateur sécurisée à l'aide de JWT
- Profils utilisateurs complets, notamment:
- Informations personnelles (nom, e-mail, téléphone)
- Adresses de livraison multiples
- Profile Pictures
- Historique du shopping
- Abonnements à la newsletter
Expérience d'achat
- Gestion des paniers
- Traitement des commandes
- Gestion des informations de paiement
- Suivi du statut de commande
- Mises à jour de l'état de livraison
Architecture axée sur l'événement
- Manipulation du système de répartiteur d'événements personnalisés:
- Notifications de disponibilité des produits
- Événements de sortie de marque
- Distributions de newsletter
- Mappage de main-d'œuvre d'événement et dépassement automatique
Validation de l'emplacement
- Intégration avec iranapi pour la validation de l'adresse
- Base de données complète des villes et provinces iraniennes
- Support bilingue (anglais / persan)
- Vérification de l'adresse réelle
? Pile technique
Technologies de base
- .NET 8 : dernière version du framework pour des performances optimales
- MS SQL Server : base de données principale
- Entity Framework Core : ORM pour les opérations de base de données
Authentification et sécurité
- JWT : Authentification basée sur les jetons
- Bcrypt : hachage de mot de passe sécurisé
- Stockage local : gestion des jetons JWT
Informatique
- Automappeur : mappage efficace d'objet-objet
- FluentValidation : validation de la demande
- Traitement de fichiers personnalisé : validation et stockage de l'image
? Composants clés
Modèles de données
- Marques
- Produits
- Commentaires
- Événements
- Newsletters (marque et produit)
- Ordres
- Paiements
- Caddages
- Balises
- Utilisateurs
Système d'événements
Le système implémente une architecture motivée par des événements:
- Dispatteur d'événements singleton
- Enregistrement d'événement
- Traitement automatique des événements
- Notifications par e-mail de newsletter
Fonctionnalités de sécurité
- Hachage de mot de passe sécurisé avec BCrypt
- Authentification basée sur JWT
- Validation d'entrée à l'aide de FluentValidation
- Contenu de l'image et validation du format
- Stockage de fichiers sécurisé avec dénomination unique
? Points forts de l'architecture
- Architecture propre
- Conception axée sur l'événement pour couplage lâche
- Modèle de référentiel pour l'accès aux données
- Architecture de couche de service
- Modèle DTO avec Automapper
- Configurations de validateurs à l'aide de FluentValidation
- Séparation propre des préoccupations
Licence
Ce projet est autorisé en vertu de la licence GPLV3 - voir le fichier Licence.md pour plus de détails.