Aplicación web moderna para planificación de viajes con arquitectura frontend/backend separada.
ViajeIA/
├── backend/ # API Python con FastAPI
│ ├── main.py # Servidor principal
│ └── requirements.txt
└── frontend/ # Aplicación React
├── public/
├── src/
└── package.json
- Crear un entorno virtual (recomendado):
cd backend
python -m venv venv- Activar el entorno virtual:
- Windows:
venv\Scripts\activate- Linux/Mac:
source venv/bin/activate- Instalar dependencias:
pip install -r requirements.txt-
Configurar API Key de Gemini (IMPORTANTE):
Para obtener tu API key de Google Gemini:
- Ve a https://makersuite.google.com/app/apikey
- Inicia sesión con tu cuenta de Google
- Crea una nueva API key
- Copia la API key generada
Luego crea un archivo
.enven la carpetabackend/con el siguiente contenido:GEMINI_API_KEY=tu_api_key_aqui OPENWEATHER_API_KEY=tu_openweather_api_key UNSPLASH_ACCESS_KEY=tu_unsplash_access_keyReemplaza
tu_api_key_aquicon la API key de Gemini que copiaste.Para obtener tus API keys:
- OpenWeatherMap (clima): Ver
backend/INSTRUCCIONES_OPENWEATHER.md - Unsplash (fotos): Ver
backend/INSTRUCCIONES_UNSPLASH.md
-
Ejecutar el servidor:
uvicorn main:app --reload --port 8000El servidor estará disponible en: http://localhost:8000
- Navegar a la carpeta frontend:
cd frontend- Instalar dependencias:
npm install- Ejecutar la aplicación:
npm startLa aplicación estará disponible en: http://localhost:3000
- Inicia el servidor backend en una terminal
- Inicia el servidor frontend en otra terminal
- Abre tu navegador en http://localhost:3000
- Escribe tu pregunta sobre viajes y haz clic en "Planificar mi viaje"
- Backend: Python, FastAPI, Google Gemini AI
- Frontend: React, CSS3
- IA: Google Gemini Pro para generar respuestas inteligentes sobre viajes
- Seguridad: Rate limiting, validación de entrada, sanitización, CORS configurado
- Estilo: Diseño moderno con colores azules y blancos
Esta aplicación incluye múltiples medidas de seguridad:
- ✅ Validación y sanitización de entrada
- ✅ Rate limiting (10 solicitudes/minuto por IP)
- ✅ Protección contra inyección de prompts
- ✅ Configuración CORS segura
- ✅ Manejo seguro de errores
- ✅ Variables de entorno para credenciales
Ver backend/SEGURIDAD.md para más detalles.
- Interfaz moderna y responsiva
- Campo de texto para preguntas
- Botón interactivo para enviar consultas
- Área de respuestas con diseño atractivo
- Integración con Google Gemini AI para respuestas inteligentes sobre viajes
- Comunicación entre frontend y backend vía API REST