Presentamos Magician AI, una plataforma altamente interactiva que aprovecha el poder de GPT-3.5 de OpenAI para la generación de texto y DALL-E para la generación de imágenes. Además de replicar IA para generación de canciones y videos. Con nuestra plataforma, puede comunicarse con la IA, pedirle que escriba código, describa las imágenes o videos que se generarán y más. Nuestra interfaz es fácil de usar y está diseñada para brindar una experiencia emocionante y creativa. Diseñado para gestionar suscripciones y pagos mediante Stripe, los usuarios obtienen usos iniciales limitados y posteriormente pueden suscribirse para obtener acceso continuo.
Para ejecutar el proyecto, necesita:
Nodo 18LTS
Siguiente.JS 13+
Nuestra plataforma ofrece varias características únicas y atractivas para explorar:
Nuestro sistema garantiza experiencias de usuario fluidas y seguras:
Los usuarios pueden registrarse usando correo electrónico y contraseña.
Los usuarios pueden registrarse utilizando proveedores de autenticación de terceros, como Google y GitHub.
Los usuarios pueden iniciar sesión mediante correo electrónico y contraseña.
Los usuarios pueden cerrar sesión
Los usuarios pueden gestionar sus suscripciones y pagos.
Los usuarios pueden tener conversaciones enriquecedoras con la IA:
Pídale a la IA que genere texto según las indicaciones dadas
Discute varios temas de manera conversacional con la IA.
Los usuarios pueden aprovechar la IA para programar:
Pídale a la IA que escriba código según requisitos específicos
La IA proporciona un fragmento de código generado junto con una explicación.
La IA crea imágenes a partir de descripciones de usuarios:
Los usuarios describen una imagen.
La IA genera una cantidad de imágenes que coinciden con esa descripción en una resolución específica.
Experimente la creatividad de la IA con la generación de videos:
Los usuarios describen un vídeo.
La IA genera un vídeo basado en la descripción proporcionada.
Tenga en cuenta que después de un número limitado de usos, los usuarios deben suscribirse para continuar accediendo a estas funciones. La gestión de pagos y suscripciones se realiza de forma segura mediante Stripe.
El proyecto Magician AI utiliza un sólido conjunto de tecnologías modernas para brindar una experiencia de usuario de alta calidad:
Next.js : un marco basado en React que ofrece herramientas y convenciones para aplicaciones web renderizadas del lado del servidor (SSR) y generadas estáticamente.
Tailwind CSS : un marco CSS de utilidad que promueve un diseño altamente personalizable y responsivo.
Shadcn UI : una colección de componentes reutilizables, accesibles y personalizables creados con Radix UI y Tailwind CSS. Shadcn UI ofrece un comienzo fácil para los desarrolladores, independientemente de su experiencia con las bibliotecas de componentes.
Node.js : un entorno de ejecución de JavaScript que ejecuta código JavaScript fuera de un navegador web.
Prisma : un ORM de código abierto que proporciona un cliente con seguridad de tipos para consultas eficientes y sin errores.
Axios : un cliente HTTP basado en promesas que se utiliza para realizar solicitudes HTTP.
Clerk Auth : una plataforma de gestión de usuarios y autenticación fácil de usar. Clerk proporciona múltiples estrategias de autenticación y un sistema integral de gestión de usuarios. Es seguro, escalable y fácil de usar, con componentes de interfaz de usuario personalizables.
Stripe : una plataforma de procesamiento de pagos en línea utilizada en este proyecto para gestionar pagos y suscripciones.
Zod : una biblioteca de validación y declaración de esquemas basada en TypeScript que se utiliza para API REST con seguridad de tipos.
MySQL : un popular sistema de gestión de bases de datos relacionales de código abierto.
OpenAI : utilizado para generar texto e imágenes. GPT-3.5 de OpenAI se utiliza para la generación de texto y DALL-E para la generación de imágenes.
Replicar IA : se utiliza para generar música y videos basados en las entradas del usuario.
Cada tecnología de esta pila desempeña un papel crucial a la hora de ofrecer una experiencia de usuario dinámica y fluida.
Abra su terminal y use el siguiente comando para clonar el proyecto:
clon de git https://github.com/mbeps/magician-ai.git
Navegue al directorio raíz del proyecto e instale las dependencias requeridas usando el siguiente comando:
instalación de hilo
Cree una copia del archivo .env.example
y cámbiele el nombre a .env.local
. Complete el .env.local
con los secretos necesarios.
Aquí hay instrucciones para obtener algunos de estos secretos:
Autenticación del secretario
Cree una cuenta en el sitio web del Secretario.
Crea una nueva aplicación.
En el panel de su aplicación, vaya a la sección de configuración.
Encontrará NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
y CLERK_SECRET_KEY
en esta sección.
Agregue estas claves a sus variables de entorno en .env.local
.
También debe agregar las siguientes URL para Clerk Auth:
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/dashboard
Para OPENAI_API_KEY
, REPLICATE_API_TOKEN
, DATABASE_URL
, STRIPE_API_KEY
y NEXT_PUBLIC_APP_URL
, consulte la documentación o la página de configuración del servicio respectivo para obtener estos valores.
Este paso es necesario si desea utilizar la imagen de Docker proporcionada. También puedes utilizar un servicio en la nube alternativo para MySQL. Asegúrese de cambiar la cadena de conexión en el archivo .env
si desea hacerlo.
Ejecute el siguiente comando desde la raíz del proyecto para iniciar su contenedor MySQL:
docker-compose --env-file .env -f docker/docker-compose.yml arriba db
Para configurar Prisma e insertar el esquema en la base de datos, utilice los siguientes comandos:
Generar Cliente Prisma:
hilo prisma generar
Envíe el esquema de Prisma a la base de datos:
hilo prisma db push
Ejecute Stripe CLI y haga que escuche el webhook:
escucha de banda --reenviar a localhost:3000/api/webhook
Esto generará su STRIPE_WEBHOOK_SECRET
. Agregue esto a sus variables de entorno en .env.local
.
Una vez que haya configurado las variables de entorno, Prisma y Stripe, use los siguientes comandos para ejecutar el proyecto:
En una terminal, ejecute el servidor Next.js:
desarrollador de hilo
En otra terminal, inicie el oyente Stripe:
escucha de banda --reenviar a localhost:3000/api/webhook
Esto debería ejecutar el proyecto en localhost:3000
.
Nota: Tanto el servidor frontend Next.js como Stripe CLI deben ejecutarse simultáneamente para que la aplicación funcione correctamente.