Este repositorio contiene la infraestructura principal y la orquestación de servicios para la plataforma BDT Global. La aplicación utiliza una arquitectura de microservicios gestionada por Docker Compose para unificar el Frontend, el Backend y el servicio de Inteligencia Artificial.
Este repositorio actúa como el "orquestador". No contiene el código fuente de la aplicación en sí, sino que utiliza submódulos de Git para gestionar y unificar los tres servicios principales. El archivo docker-compose.yml define cómo se construyen y conectan estos servicios.
-
PF-Frontend(Servicio:frontend)- Descripción: Es la interfaz de usuario con la que interactúa el usuario final.
- Tecnología: Aplicación React (Vite).
- URL (Local):
http://localhost:5173.
-
PF-Backend(Servicio:backend)- Descripción: Es el servidor principal que maneja la lógica de negocio, la comunicación con la base de datos y sirve como puerta de enlace.
- Tecnología: Aplicación C# ASP.NET Core.
- URL (Local):
http://localhost:5288(mapeado desde el puerto 5000 del contenedor).
-
PF-API-IA(Servicio:api-ia)- Descripción: Es el microservicio especializado que se comunica con la API de Google Gemini. Procesa las solicitudes de análisis, genera las descripciones y sugerencias de la IA.
- Tecnología: Aplicación Python con Flask.
- URL (Local):
http://localhost:5001.
| Categoría | Tecnología | | | | | Orquestación | Docker Compose | | Frontend | React, Vite | | Backend | C# .NET (ASP.NET Core) | | Servicio IA | Python, Flask, Google Gemini |
Antes de comenzar, asegúrate de tener instalado y en ejecución:
- Git
- Docker Desktop (Es fundamental que la aplicación esté abierta y corriendo antes de continuar).
- Una Clave API de Google Gemini (para el análisis de IA).
-
Clonar el repositorio: Abre tu terminal y clona este repositorio.
git clone https://github.com/martindglaser/PF-Infrastructure.git
-
Acceder al directorio:
cd PF-Infrastructure -
Inicializar submódulos
git submodule sync --recursive git submodule update --init --recursive
-
Crear archivo de entorno (
.env): Este paso es crucial. Debes crear un archivo.enven la raíz del proyecto para proporcionar tu clave de API al servicioapi-ia. Puedes usar el.env.examplecomo plantilla.(Recuerda reemplazar
TU_GOOGLE_GEMINI_API_KEY_ACAcon tu clave real)echo GOOGLE_API_KEY=TU_GOOGLE_GEMINI_API_KEY_ACA > .env
El
docker-compose.ymlestá configurado para leer este archivo y pasarlo como variable de entorno al contenedorapi-ia. -
Construir y ejecutar los contenedores: Este comando leerá el
docker-compose.yml, construirá las imágenes de Docker para cada servicio (basado en sus respectivosDockerfile) y los iniciará en segundo plano (-d).docker-compose up -d --build
¡Listo! Una vez que los contenedores estén en funcionamiento, podrás acceder a la aplicación desde tu navegador:
- Aplicación Principal (Frontend):
http://localhost:5173/
- Endpoint del Backend:
http://localhost:5288 - Endpoint de la API de IA:
http://localhost:5001
Para detener todos los servicios y eliminar los contenedores, ejecuta:
docker-compose down