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.
- 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)
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
- Ejecuta el proyecto con Visual Studio 2022 o desde CLI:
dotnet rundotnet test- Docker Desktop instalado y en ejecuciΓ³n.
docker build -t productreviewapi .
docker run -p 8080:80 productreviewapiLa 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.
POST /review
Content-Type: application/json
{
"reviewText": "Este producto es excelente, me encantΓ³ desde que lo comprΓ©."
}
- GitHub Copilot: Para autocompletar cΓ³digo repetitivo.
- ChatGPT: Para diseΓ±o de arquitectura y sugerencias de pruebas.