Aplicación web interactiva desarrollada con Next.js y React que permite a los usuarios crear perfiles de personajes (con nombre, foto, descripción, etc.) y entablar conversaciones con ellos. Cada personaje cobra vida gracias a la inteligencia artificial de Google Gemini, que adapta sus respuestas basándose en el perfil y el historial de la conversación.
La aplicación utiliza Firebase para la gestión de la base de datos (Firestore) y el almacenamiento de archivos (Firebase Storage), asegurando la persistencia de los datos de usuario y las conversaciones.
- Creación de Usuarios: Define personajes únicos con:
- Nombre y Apellido
- Foto de Perfil (subida y almacenada en Firebase Storage)
- Edad
- Teléfono
- Fecha de Nacimiento
- Descripción (clave para la personalidad de la IA)
- Chat Interactivo: Conversa individualmente con cada usuario creado.
- IA Personalizada (Gemini): Las respuestas son generadas por el modelo
gemini-2.0-flashde Google, parametrizado con el nombre y la descripción del perfil para simular una conversación con ese personaje específico. - Memoria Conversacional: Mantiene el contexto de la conversación guardando y reutilizando los últimos 20 mensajes del historial, lo que permite diálogos más coherentes y fluidos.
- Persistencia de Datos: Toda la información de los usuarios y las conversaciones se almacena de forma segura en Firebase (Firestore y Storage).
- Interfaz Moderna: Construida con Next.js, React y estilizada con Tailwind CSS. Incluye selector de emojis y íconos.
- Framework: Next.js 15+
- Librería Frontend: React 19+
- Inteligencia Artificial: Google Gemini API (
@google/genai, modelogemini-2.0-flash) - Base de Datos: Firebase Firestore
- Almacenamiento: Firebase Storage
- Estilos: Tailwind CSS 4+, styled-component (Nota: verificar si es
styled-components), react-icons - UI/UX: emoji-picker-react, react-hot-toast (para notificaciones)
- Lenguaje: JavaScript/TypeScript (implícito con Next.js)
Sigue estos pasos para ejecutar el proyecto en tu máquina local:
-
Clonar el repositorio:
git clone https://github.com/lufebadeca/AI-chat cd message-chat -
Instalar dependencias: Se recomienda usar
npmoyarn.npm install # o yarn install -
Configurar Variables de Entorno: Crea un archivo
.env.localen la raíz del proyecto. Necesitarás obtener tus credenciales de configuración de Firebase y tu API Key de Google AI Studio para Gemini. Añade las siguientes variables (reemplaza los valores de ejemplo):# Firebase Configuration NEXT_PUBLIC_FIREBASE_API_KEY=AIzaSyXXXXXXXXXXXXXXXXXXXXXX NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=tu-proyecto.firebaseapp.com NEXT_PUBLIC_FIREBASE_PROJECT_ID=tu-proyecto NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=tu-proyecto.appspot.com NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=1234567890 NEXT_PUBLIC_FIREBASE_APP_ID=1:1234567890:web:XXXXXXXXXXXXXXXXXXXXXX # Google Gemini API Key GEMINI_API_KEY=AIzaSyYYYYYYYYYYYYYYYYYYYYYY
Asegúrate de tener un proyecto Firebase creado y configurado con Firestore y Storage habilitados.