Repositorio monorepo que contiene los servicios de la API para la aplicación Byte Store. Estos servicios incluyen:
- Servicio de usuarios (user-service)
- Servicio de productos (product-service)
- Servicio de pedidos (order-service)
- Servicio de calificaciones (review-service)
- Servicio de carrito de compras (cart-service)
Cada servicio es una aplicación independiente que se comunica con los demás a través de HTTP. Cada uno tiene su propia base de datos y lógica de negocio.
Las siguientes tecnologías y herramientas se utilizan en los servicios de la API:
- Node.js
- TypeScript
- Express
- MySQL
- JWT (jsonwebtoken para autenticación (generación y verificación de tokens))
- Zod (validación de esquemas)
- bcrypt (hashing de contraseñas)
- uuid (identificadores únicos)
- Node.js
- TypeScript
- NestJS
- MySQL
- JWT (jsonwebtoken solo para verificación de tokens)
- TypeORM (ORM para MySQL)
- class-validator (validación de esquemas)
- class-transformer (transformación de objetos)
- Pendiente
- Pendiente
- Node.js
- Express
- JWT (jsonwebtoken para verificación de tokens)
- Zod (validación de esquemas)
- MongoDB
- Mongoose (ODM para MongoDB)
- uuid (identificadores únicos)
Cada servicio tiene la siguiente estructura de carpetas y archivos, en donde podrá encontrar el código fuente, configuraciones y documentación específica de cada servicio.
byte-store-API/
├── api-gateway/ #API Gateway (pendiente)
├── user-service/ #Servicio de Usuarios
├── init/data.sql #Script para inicializar la base de datos
├── product-service/ #Servicio de Productos
├── init/data.sql #Script para inicializar la base de datos
├── order-service/ #Servicio de Pedidos
├── review-service/ #Servicio de Calificaciones
├── cart-service/ #Servicio de Carrito de Compras
Cada servicio tiene un Dockerfile
para construir una imagen Docker del servicio. También hay un archivo docker-compose.yml
en la raíz del proyecto para orquestar los contenedores de los servicios y sus bases de datos.
Para construir y ejecutar los servicios usando Docker, asegúrate de tener Docker y Docker Compose instalados en tu máquina. Luego, desde la raíz del proyecto, ejecuta:
- Crear una red de Docker para que los contenedores puedan comunicarse entre sí:
docker network create app_network
- Construir y ejecutar los contenedores:
docker compose -f docker-compose.dev.yml build --no-cache docker compose -f docker-compose.dev.yml up -d
Cada servicio tiene su propia documentación en su respectivo archivo README.md
. A continuación, se proporcionan enlaces directos a la documentación de cada servicio:
- Servicio de usuarios (user-service)
- Servicio de productos (product-service)
- Servicio de pedidos (order-service)
- Servicio de calificaciones (review-service)
- Servicio de carrito de compras (cart-service)
Byte Store API © 2025 José Hernández, Daniel Leiton & Anderson Lozada. bajo la licencia CC BY-NC-SA 4.0