Skip to content

MarioHdzFls/ProductReviewAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Product Review API

Este microservicio proporciona una API para analizar reseΓ±as de productos. Utiliza una IA simulada que detecta el sentimiento, calcula la legibilidad del texto y sugiere mejoras en la reseΓ±a.

πŸš€ CaracterΓ­sticas

  • AnΓ‘lisis de sentimiento (positivo, negativo, neutral)
  • CΓ‘lculo de legibilidad
  • Sugerencias automΓ‘ticas para mejorar el texto
  • Arquitectura limpia y modular con soporte para futuras integraciones con IA reales
  • Pruebas unitarias e integraciΓ³n listas
  • Listo para Docker
  • Preparado para integraciΓ³n continua (CI)

🧱 Estructura del Proyecto

ProductReviewAPI/
β”‚
β”œβ”€β”€ Controllers/
β”‚   └── ReviewController.cs
β”œβ”€β”€ Factory/
β”‚   └── AIProviderFactory.cs
β”œβ”€β”€ Filters/
β”‚   └── ValidateModelAttribute.cs
β”œβ”€β”€ Middleware/
β”‚   └── ExceptionHandlingMiddleware.cs
β”œβ”€β”€ Interfaces/
β”‚   └── IReviewService.cs
β”‚   └── IAIProvider.cs
β”œβ”€β”€ Models/
β”‚   β”œβ”€β”€ ReviewRequest.cs
β”‚   └── ReviewResponse.cs
β”œβ”€β”€ Services/
β”‚   └── ReviewService.cs
β”‚   └── SimulatedAIProvider.cs
β”‚   └── ExternalAIProvider.cs
β”œβ”€β”€ Helpers/
β”‚   └── ReadabilityHelper.cs
β”‚   └── SentimentHelper.cs
β”‚   └── SuggestionHelper.cs
β”œβ”€β”€ ProductReviewAPI.http
β”œβ”€β”€ Program.cs
β”œβ”€β”€ appsettings.json
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ docker-compose.yml
└── README.md
ProductReviewAPI.Test/
β”‚
β”œβ”€β”€ Controllers/
β”‚   └── ReviewControllerTests.cs
β”œβ”€β”€ Helpers/
β”‚   └── ReadabilityHelperTests.cs
β”‚   └── SentimentHelperTests.cs
β”‚   └── SuggestionHelperTests.cs
β”œβ”€β”€ Middleware/
β”‚   └── ExceptionHandlingMiddlewareTests.cs
β”œβ”€β”€ Services/
β”‚   └── ReviewServiceTests.cs
β”‚   └── SimulatedAIProviderTests.cs

## πŸ›  ConfiguraciΓ³n

1. Clona el repositorio:
```bash
git clone https://github.com/MarioHdzFls/ProductReviewAPI
cd ProductReviewAPI
  1. Ejecuta el proyecto con Visual Studio 2022 o desde CLI:
dotnet run

πŸ§ͺ EjecuciΓ³n de Pruebas

dotnet test

🐳 Docker

Requisitos

  • Docker Desktop instalado y en ejecuciΓ³n.

Comandos

docker build -t productreviewapi .
docker run -p 8080:80 productreviewapi

🧠 Lógica de IA Simulada

La lΓ³gica de IA estΓ‘ implementada en SimulatedAIProvider.cs, pero el sistema es extensible para conectarse con servicios externos como OpenAI, Azure Cognitive Services, etc., mediante la interfaz IAIProvider.

βœ… Ejemplo de Solicitud HTTP

POST /review
Content-Type: application/json

{
  "reviewText": "Este producto es excelente, me encantΓ³ desde que lo comprΓ©."
}

πŸ“¦ Herramientas de IA utilizadas

  • GitHub Copilot: Para autocompletar cΓ³digo repetitivo.
  • ChatGPT: Para diseΓ±o de arquitectura y sugerencias de pruebas.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published