PDF AI SaaS App
Eine PDF AI SaaS Full Stack App hat mit Next.js Framework, Shadcn UI, Openai, Langchain, Stripe und mehr erstellt. Mit der App können Benutzer ein PDF -Dokument mit Größenlimit basierend auf dem Abonnementplan hochladen und nach bestimmten Informationen in diesem Dokument suchen. Nur authentifizierte Benutzer können die Plattform nutzen. Es gibt 2 Optionen: kostenloser Plan mit begrenzter Nutzung und Pro -Plan, um dem Benutzer mehr Funktionen zu geben.
Demo -Video: Link
Merkmale
- Ermöglichen Sie den Benutzer, sich bei der Plattform anzumelden
- Ermöglichen Sie dem Benutzer, ein PDF -Dokument hochzuladen und nach Inhalten zu suchen
- Intuitive Drag n 'Drop -Uploads
- PDF -Viewer, um das hochgeladene PDF -Dokument anzuzeigen
- 100% in TypeScript geschrieben
- Das OPEANAI-Texteinbettungsmodell wurde verwendet, um die PDF-Datei und GPT-4O einzubetten, um mit dem Dokument zu chatten
- Langchain verwendet LLM in die App
- Die Pnecone -Vektor -Datenbank wurde verwendet, um die Einbettungsdaten in den Vektorraum zu speichern
- Die MongoDB -NOSQL -Datenbank wurde verwendet, um Benutzer-, Dokument- und Chat -Informationen zu speichern
- Die Stripe -Zahlung wird mit Webhook zur Zahlung verwendet, um Informationen über den Status der Zahlung zurückzusetzen
- Next.js Framework wird verwendet, um die vollständige Stapel -App zu erstellen
- Der Tailwind -CSS wird mit Shadcn UI -Komponentenbibliothek zum gebauten schönen Design verwendet
- Prisma orm wird verwendet, um mit Datenbank zu kommunizieren
So rennen Sie vom lokalen Repository aus
- Klonen Sie das Repository
- Führen Sie den Befehl
npm install in Ihrem terminal aus - Generieren Sie das Auth Secret, das automatisch .Env.local -Datei für Umgebungsvariablen erstellt (Sie können später .Env verwenden und das Geheimnis hineingeben):
npx auth secret - Richten Sie Google OAuth ein: Google
- Erstellen Sie Stripe -Konto und erhalten Sie den Schlüssellink.
- Stripe Webhook Endpoint -Link hinzufügen.
- Aktivieren Sie das Stripe Billing Portal Link.
- Erstellen Sie den Pinecone Index -Link.
- Umgebungsvariablen in die .Env -Datei hinzufügen:
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>"
- Erstellen Sie neues Produkt mit Funktionen auf Stripe: Link
- Führen Sie
npm run prisma:generate , um das Prisma -Schema anzuwenden - Run
npm run prisma:push , um DB auf MongoDB zu drücken - Führen Sie den Befehl
npm run dev in Ihrem Terminal aus - Server, der unter
http://localhost:3000/ ausgeführt wird
Nützliche Links und Informationen
- Prisma env.local Handling:
- Prisma und MongoDB -Kantenkompatibilität:
- Auth.js Code Beispiel:
- Seite von Google Provider -Konfiguration:
- Stripe, Checkout -Sitzung, Webhook:
- Github #1
- Github #2
- LinkedIn.com
- Dev.to
- Medium.com
- Streifen -Testkarten:
Abhängigkeiten
- Weiter.js
- Reagieren
- Reagieren dom
- Typoskript
- Tanstack -Abfrage
- Lucide -Ikonen
- Rückenwind -CSS
- Shadcn Ui
- React Dropzone
- Reagieren pdf
- Sonner
- Date-Fns
- Scharfe Bildoptimalisierung
- Auth.js
- Prisma
- MongoDb
- Openai API
- Langchain
- Tannenzapfen
- Hochladen
- PDF-Parse
- Streifen
Layout
