Backend de comercio electrónico de Pexita
Un sólido sistema de back-end de comercio electrónico basado en eventos construido con .NET 8, implementando patrones de arquitectura modernos y las mejores prácticas para operaciones minoristas en línea escalables.
Características
Funcionalidad central
Gestión de marca
- Las marcas pueden registrarse como papel de marca
- Las marcas pueden crear y compartir sus propios productos bajo su nombre
- Soporte completo para la gestión de pedidos
- Validación estricta en la creación de pedidos
Gestión de productos
- Operaciones CRUD completas para productos
- Soporte para imágenes de productos con validación
- Categorización de productos con etiquetas
- Sistema de calificación y comentarios
- Asociación de marca
Gestión de usuarios
- Autenticación segura del usuario utilizando JWT
- Perfiles de usuario completos que incluyen:
- Información personal (nombre, correo electrónico, teléfono)
- Múltiples direcciones de entrega
- Fotos de perfil
- Historial de compras
- Suscripciones de boletín
Experiencia de compra
- Gestión del carrito de compras
- Procesamiento de pedidos
- Manejo de información de pago
- Seguimiento de estado de pedido
- Actualizaciones de estado de entrega
Arquitectura basada en eventos
- Manejo del sistema de despachador de eventos personalizados:
- Notificaciones de disponibilidad de productos
- Eventos de lanzamiento de marca
- Distribuciones de boletines
- Mapeo de manejadores de eventos y envío automático
Validación de ubicación
- Integración con Iranapi para la validación de direcciones
- Base de datos integral de ciudades y provincias iraníes
- Soporte bilingüe (inglés/persa)
- Verificación de direcciones reales
? Pila técnica
Tecnologías centrales
- .NET 8 : Última versión de marco para un rendimiento óptimo
- MS SQL Server : base de datos primaria
- Entity Framework Core : ORM para operaciones de bases de datos
Autenticación y seguridad
- JWT : autenticación basada en token
- BCRYPT : Hashing de contraseña segura
- Almacenamiento local : gestión de tokens JWT
Proceso de datos
- Automapper : asignación eficiente de objeto a objeto
- Validación con fluidez : validación de solicitud
- Procesamiento de archivos personalizado : validación y almacenamiento de imágenes
? Componentes clave
Modelos de datos
- Marcas
- Productos
- Comentario
- Eventos
- Boletines (marca y producto)
- Órdenes
- Pagos
- Carros de compras
- Etiquetas
- Usuarios
Sistema de eventos
El sistema implementa una arquitectura basada en eventos a través de:
- Despachador de eventos singleton
- Registro de eventos-manejador
- Procesamiento automático de eventos
- Notificaciones por correo electrónico del boletín
Características de seguridad
- Asegurar el hash de contraseña con bcrypt
- Autenticación basada en JWT
- Validación de entrada utilizando Validación Fluent
- Contenido de imagen y validación de formato
- Almacenamiento de archivos seguro con nombres únicos
? Destacados de arquitectura
- Arquitectura limpia
- Diseño basado en eventos para acoplamiento suelto
- Patrón de repositorio para acceso a datos
- Arquitectura de capa de servicio
- Patrón DTO con Automapper
- Configuraciones de validador utilizando FluentValidation
- Separación limpia de preocupaciones
Licencia
Este proyecto tiene licencia bajo la licencia GPLV3; consulte el archivo License.md para más detalles.