Este proyecto representa la culminación del aprendizaje y la aplicación de buenas prácticas en el desarrollo de software, específicamente en el ámbito de comercio electrónico. Diseñado como parte del Módulo 4 del Bootcamp de Desarrollo Web Full Stack en Soy Henry, el E-commerce Genérico es una aplicación robusta que abarca la implementación e integración de las mejores prácticas en el desarrollo de software.
El E-commerce Genérico es una plataforma de comercio electrónico completa, desarrollada siguiendo una arquitectura de microservicios. Esta arquitectura modular nos permite descomponer la aplicación en componentes independientes, facilitando el mantenimiento, escalabilidad y despliegue.
Esquema de tablas :
- NestJS: Framework de Node.js para aplicaciones escalables en el servidor.
- TypeScript: Amplía JavaScript con tipos estáticos opcionales.
- PostgreSQL: Sistema de gestión de bases de datos relacional de código abierto.
- TypeORM: ORM para simplificar la interacción con la base de datos.
- JWT: Estándar para autenticación y transmisión segura de datos.
- Bcrypt: Garantiza la seguridad en la aplicación mediante hash de contraseñas.
- Swagger: Simplifica la documentación y prueba de APIs RESTful.
- Docker: Plataforma de contenedores para desarrollo, implementación y ejecución de aplicaciones.
- Gestión de usuarios: Registro, inicio de sesión y gestión de perfiles de usuario.
- Catálogo de productos: Visualización, búsqueda y filtrado de productos.
- Carrito de compras: Agregar, modificar y eliminar productos del carrito.
- Proceso de pago: Integración de pasarelas de pago para realizar transacciones seguras.
- Gestión de pedidos: Seguimiento y gestión del estado de los pedidos realizados.
-
Descripción: Obtiene todos los usuarios.
-
Query Params: page : number , limit : number
-
Respuesta:
- 200: Si hay usuarios registrados.
- 404: Si no hay usuarios registrados aún.
- Si no se envian querys, por default devuelve toda la lista completa de usuarios
-
Ejemplo:
[ { "id": "5619be4c-64a5-462b-8c8f-8078ba186f4b", "name": "Chayane", "email": "[email protected]", "phone": 1183629205, "country": "United States", "city": "Nevada", "address": "avenida siempre viva 742", "role": "USER", }, { "id": "1312fe2g-14z1-221l-1g5a-3378zg026f4b", "name": "Ricky Martin", ... } ]
-
Descripción: Obtiene un usuario por su id junto con sus ordenes de compra realizadas.
-
Parámetros: id: debe ser un string con formato UUID v4.
-
Respuesta:
- 200: Si el usuario fue encontrado.
- 404: Si el usuario no fue encontrado.
- Si el usuario tiene ordenes de compra realizadas en el array se vera reflejado el id, fecha y hora en el que fue realizada la orden.
-
Ejemplo:
{ "id": "5619be4c-64a5-462b-8c8f-8078ba186f4b", "name": "Chayane", "email": "[email protected]", "phone": 1183629205, "country": "United States", "city": "Nevada", "address": "avenida siempre viva 742", "role": "USER", "orders":[] },
- Clona este repositorio en tu máquina local.
- Instala las dependencias utilizando npm install.
- Configura las variables de entorno según sea necesario.
- Ejecuta el servidor de desarrollo con npm run start:dev.
- Accede a la aplicación en tu navegador web mediante la URL proporcionada por el servidor.