Aplicación PDF AI SaaS
Una aplicación PDF AI SaaS Full Stack se ha construido con el marco Next.js, Shadcn UI, OpenAi, Langchain, Stripe y más. La aplicación permite a los usuarios cargar cualquier documento PDF con límite de tamaño basado en el plan de suscripción y buscar información específica dentro de este documento. Solo los usuarios autenticados pueden usar la plataforma. Hay 2 opciones: plan gratuito con uso limitado y plan Pro para dar más funciones al usuario.
Video de demostración: enlace
Características
- Permitir que el usuario inicie sesión en la plataforma
- Permitir que el usuario cargue cualquier documento PDF y busque cualquier contenido dentro de este
- Cargaciones intuitivas de arrastre n 'suelta
- Visor PDF para ver el documento PDF cargado
- 100% escrito en mecanografiado
- El modelo de incrustación de texto de Opeanai se ha utilizado para integrar el archivo PDF y GPT-4O para chatear con el documento
- Langchain se usa para integrar LLM en la aplicación
- La base de datos de vector de Pinecone se ha utilizado para almacenar datos en el espacio vectorial
- La base de datos MONGODB NoSQL se ha utilizado para almacenar información de usuarios, documentos y chat
- El pago de Stripe se utiliza con Webhook para el pago para recuperar información sobre el estado del pago
- Next.js framework se utiliza para crear una aplicación de pila completa
- Tailwind CSS se usa con la biblioteca de componentes de UI Shadcn para un diseño hermoso construido
- Prisma ORM se usa para comunicarse con la base de datos
Cómo ejecutar desde el repositorio local
- Clonar el repositorio
- Ejecutar el comando
npm install en su terminal - Genere Auth Secret, que crea automáticamente el archivo .env.local para las variables de entorno (puede usar .env más tarde y poner el secreto en él):
npx auth secret - Configurar Google Oauth: Google
- Cree una cuenta de rayas y obtenga el enlace de llaves.
- Agregue el enlace de punto de finalización de Stripe Webhook.
- Active el enlace del portal de facturación de rayas.
- Crear enlace de índice Pinecone.
- Agregar variables de entorno al archivo .env:
AUTH_SECRET="<YOUR-SECRET>"
AUTH_GOOGLE_ID="<YOUR-GOOGLE-ID>"
AUTH_GOOGLE_SECRET="<YOUR-GOOGLE-SECRET>"
DATABASE_URL="<YOUR-DATABASE-URL>"
UPLOADTHING_TOKEN="<YOUR-UPLOADTHING-TOKEN>"
PINECONE_API_KEY="<YOUR-PINECONE-TOKEN>"
OPENAI_API_KEY="<YOUR-OPENAI-TOKEN>"
STRIPE_SECRET_KEY="<YOUR-STRIPE-SECRET-TOKEN>"
STRIPE_WEBHOOK_SECRET="<YOUR-STRIPE-WEBHOOK-SECRET-TOKEN>"
STRIPE_PRODUCT_PRICE_ID="<YOUR-STRIPE-PRO-PLAN-PRICE-ID>"
- Crear nuevo producto con características en Stripe: Link
- Run
npm run prisma:generate para aplicar el esquema de prisma - Ejecutar
npm run prisma:push para empujar db a mongodb - Ejecutar el comando
npm run dev en su terminal - Servidor que se ejecuta en
http://localhost:3000/
Enlaces e información útiles
- Prisma Env. Manejo local:
- PRISMA y compatibilidad con el borde de MongoDB:
- Ejemplo de código Auth.JS:
- Página de configuración del proveedor de Google:
- Stripe, sesión de pago, webhook:
- Github #1
- Github #2
- LinkedIn.com
- Dev.To
- Medium.com
- Tarjetas de prueba de rayas:
Dependencias
- Next.js
- Reaccionar
- Reaccionar dom
- Mecanografiado
- Consulta de Tanstack
- Iconos de lucide
- CSS de viento de cola
- Shadcn ui
- Reaccionar
- Reaccionar pdf
- Hijo
- fechor
- Optimización de la imagen nítida
- Auth.js
- Prisma
- Mongodb
- API OPERAI
- Langchain
- Piña
- Cargando
- pdf-parse
- Raya
Disposición
