Preparando el Terreno: Configuración Inicial
El primer paso para construir nuestra aplicación es la configuración del entorno de desarrollo. Esto incluye la creación de un nuevo proyecto, la instalación de las dependencias necesarias y la configuración de las credenciales de la API de OpenAI.
Es crucial tener un entorno limpio y bien configurado para evitar problemas durante el desarrollo. Para comenzar, puedes crear una carpeta para tu proyecto, la cual puedes nombrar 'Dominator' . Dentro de esta carpeta, inicializaremos un proyecto Node.js utilizando el comando npm init
. Este comando te guiará a través de una serie de preguntas para configurar tu archivo Package.json
, que es esencial para gestionar las dependencias de tu proyecto.
Una vez que hayas configurado tu proyecto Node.js, el siguiente paso es instalar las dependencias necesarias. Utilizaremos npm install
para instalar Express, Cors, dotenv y openai:
npm install express cors dotenv openai
- Express: Es un framework web minimalista y flexible para Node.js que proporciona un conjunto robusto de características para el desarrollo de aplicaciones web y APIs.
- Cors: Es un paquete que permite habilitar el Cross-Origin Resource Sharing (CORS), lo que es necesario para permitir que tu front-end se comunique con tu back-end si están en dominios diferentes.
- dotenv: Es un módulo que permite cargar variables de entorno desde un archivo
.env
, lo que es útil para almacenar información sensible como las credenciales de la API de OpenAI.
- openai: Es una biblioteca de Node.js para la API de OpenAI.
Una vez instaladas las dependencias, crea un archivo .env
en la raíz de tu proyecto y añade tu clave de API de OpenAI. Asegúrate de que este archivo no se suba a ningún repositorio público por razones de seguridad.
OPENAI_API_KEY=tu_clave_api_aqui
Desarrollando el Front-End: La Interfaz del Usuario
El front-end de nuestra aplicación servirá como la interfaz a través de la cual los usuarios interactuarán con la API de OpenAI. En este Tutorial, crearemos una interfaz sencilla utilizando HTML y JavaScript.
Primero, crearemos un archivo index.html
que contendrá la estructura básica de nuestra página web. Este archivo incluirá un formulario donde los usuarios podrán introducir la descripción del nombre de dominio que desean generar. También incluiremos elementos para mostrar los resultados generados por la API de OpenAI.
Para estilizar nuestra página web, utilizaremos Bootstrap 5.3, un framework CSS popular que proporciona estilos predefinidos y componentes reutilizables que facilitan el desarrollo de interfaces atractivas y responsivas.
<!DOCTYPE html>
<html>
<head>
<title>Generador de Nombres de Dominio con IA</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.3.0/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h1>Generador de Nombres de Dominio con IA</h1>
<form id="dominioForm">
<div class="mb-3">
<label for="dominioDescripcion" class="form-label">Describe el nombre de dominio deseado:</label>
<textarea class="form-control" id="dominioDescripcion" rows="3"></textarea>
</div>
<button type="submit" class="btn btn-primary">Generar Nombres</button>
</form>
<div id="resultados"></div>
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="script.js"></script>
</body>
</html>
Este código HTML crea un formulario con un área de texto donde el usuario puede introducir la descripción del nombre de dominio. Además, incluye un contenedor (<div>
) con el id resultados
, donde se mostrarán los nombres de dominio generados por la API de OpenAI.
El archivo script.js
contendrá el código JavaScript necesario para capturar la entrada del usuario, enviar la solicitud a la API de OpenAI y mostrar los resultados en la página web.
Construyendo el Back-End: Conectando con la API de OpenAI
El back-end de nuestra aplicación será responsable de recibir las solicitudes del front-end, interactuar con la API de OpenAI y devolver los resultados al front-end. Utilizaremos Express.js para crear un servidor sencillo que gestione estas tareas.
Primero, crearemos un archivo llamado index.js
. Para Ello, inicializaremos un proyecto node npm init
, añadiremos descripción al proyecto. Luego, se debe instalar algunas librerias con el comando
npm install express cors dotenv openai
import express from 'express';
import cors from 'cors';
import { config } from 'dotenv';
config();
const app = express();
const port = process.env.PORT || 3000;
app.use(cors());
app.use(express.json());
const openaiApiKey = process.env.OPENAI_API_KEY;
app.post('/generarDominios', async (req, res) => {
const { description } = req.body;
try {
const openaiResponse = await openai.completions.create({
engine: 'text-davinci-003',
prompt: `Generar una lista de nombres de dominio para: ${description}`,
max_tokens: 150,
});
const nombresDeDominio = openaiResponse.choices[0].text.trim().split('
');
res.json({ nombres: nombresDeDominio });
} catch (error) {
console.error(error);
res.status(500).json({ error: 'Error al generar nombres de dominio' });
}
});
app.listen(port, () => {
console.log(`Servidor escuchando en el puerto ${port}`);
});
Este código crea un servidor Express que escucha en el puerto 3000. Define una ruta POST /generarDominios
que recibe la descripción del nombre de dominio del front-end, interactúa con la API de OpenAI para generar una lista de nombres de dominio y devuelve los resultados al front-end en formato JSON. También incluye manejo de errores para capturar cualquier problema que pueda surgir durante el proceso.