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.