App PDF AI SaaS
Um aplicativo PDF AI SaaS Full Stack foi construído com o Next.js Framework, UI Shadcn, Openai, Langchain, Stripe e muito mais. O aplicativo permite que os usuários enviem qualquer documento em PDF com limite de tamanho com base no plano de assinatura e pesquise informações específicas dentro deste documento. Somente usuários autenticados podem usar a plataforma. Existem 2 opções: plano gratuito com uso limitado e plano profissional para fornecer mais recursos ao usuário.
Vídeo de demonstração: link
Características
- Permita que o usuário faça login na plataforma
- Permitir que o usuário faça upload de qualquer documento em PDF e pesquise qualquer conteúdo dentro disso
- Arrasto intuitivo n 'soltar uploads
- Visualizador em PDF para ver o documento PDF carregado
- 100% escrito em TypeScript
- O modelo de incorporação de texto Opeanai foi usado para incorporar o arquivo PDF e o GPT-4O para conversar com o documento
- Langchain Use para integrar LLM no aplicativo
- O banco de dados vetorial do Pinecone foi usado para armazenar dados de incorporação no espaço vetorial
- O banco de dados NOSQL do MongoDB foi usado para armazenar informações sobre usuários, documentos e bate -papo
- O pagamento da faixa é usado com webhook para pagamento para recuperar informações sobre o status do pagamento
- A estrutura next.js é usada para criar um aplicativo de pilha completa
- CSS do Tailwind é usado com a biblioteca de componentes da UI Shadcn para construir um belo design
- Prisma ORM é usado para se comunicar com o banco de dados
Como fugir do repositório local
- Clone o repositório
- Execute o comando
npm install em seu terminal - Gere Auth Secret, que cria automaticamente o arquivo .env.local para variáveis de ambiente (você pode usar .env posteriormente e colocar o segredo nele):
npx auth secret - Configurar Google OAuth: Google
- Crie uma conta Stripe e obtenha o link das teclas.
- Adicione o link de endpoint do Webhook Stripe.
- Ative o link do portal de cobrança de faixas.
- Crie link de índice Pinecone.
- Adicione variáveis de ambiente ao arquivo .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>"
- Crie um novo produto com recursos no Stripe: Link
- Run
npm run prisma:generate para aplicar o esquema PRISMA - Execute
npm run prisma:push to empurre o DB para o MongoDB - Execute o comando
npm run dev em seu terminal - Servidor em execução em
http://localhost:3000/
Links e informações úteis
- PRISMA Env.Local Manuseio:
- Compatibilidade de prisma e borda de MongoDB:
- Exemplo de código auth.js:
- Página de configuração do provedor do Google:
- Listra, sessão de checkout, Webhook:
- Github #1
- Github #2
- LinkedIn.com
- Dev.to
- Medium.com
- Cartões de teste de faixa:
Dependências
- Next.js
- Reagir
- Reaja dom
- TypeScript
- Consulta de Tanstack
- Ícones de Lucide
- Tailwind CSS
- Shadcn ui
- Reaja dropzone
- Reaja pdf
- Sonner
- data-fns
- Otimização nítida da imagem
- Auth.js
- Prisma
- MongoDB
- API OPENAI
- Langchain
- Pinecone
- Uploading
- PDF-parse
- Listra
Layout
