PDF AI SaaS App
Приложение PDF AI SaaS Full Stack построено из Framework Next.js, пользовательского интерфейса Shadcn, OpenAI, Langchain, полосы и многого другого. Приложение позволяет пользователям загружать любой PDF -документ с ограничением размера на основе плана подписки и искать конкретную информацию в этом документе. Только аутентифицированные пользователи могут использовать платформу. Есть 2 варианта: бесплатный план с ограниченным использованием и Pro Plan, чтобы вдать больше функций пользователю.
Демо -видео: ссылка
Функции
- Позвольте пользователю войти в платформу
- Позвольте пользователю загружать любой документ PDF и искать любой контент внутри этого
- Интуитивно понятные перегрузки загрузки.
- PDF Viewer, чтобы увидеть загруженный документ PDF
- 100% написано в TypeScript
- Модель встраивания текста Opeanai использовалась для внедрения файла PDF и GPT-4O для общения с документом
- Langchain используйте для интеграции LLM в приложение
- База данных Vector Vector была использована для хранения встроенных данных в векторном пространстве
- База данных MongoDB NOSQL использовалась для хранения пользователей, документов и чата
- Оплата полосы используется с Webhook для оплаты для поиска информации о статусе платежа
- Next.js Framework используется для создания приложения полного стека
- Tailwind CSS используется с библиотекой компонентов пользовательского интерфейса Shadcn для создания красивого дизайна
- Prisma orm используется для общения с базой данных
Как бежать из местного репозитория
- Клонировать репозиторий
- Запустите команду
npm install в вашем терминале - Сгенерировать Auts Secret, который автоматически создает .env.local файл для переменных среды (вы можете использовать .ENV позже и вставить в него секрет):
npx auth secret - Настройка Google Oauth: Google
- Создайте учетную запись Stripe и получите ссылку Keys.
- Добавить ссылку на конечную точку stripe webhook.
- Активируйте страстные биллинговые портальные ссылки.
- Создайте ссылку индекса Pinecone.
- Добавьте переменные среды в файл .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>"
- Создайте новый продукт с функциями на полосе: ссылка
- Запустите
npm run prisma:generate для применения схемы Prisma - Запустите
npm run prisma:push , чтобы подтолкнуть DB до mongodb - Запустите команду
npm run dev в своем терминале - Сервер работает по адресу
http://localhost:3000/
Полезные ссылки и информация
- Prisma env.local обработка:
- Совместимость Prisma и Mongodb Edge:
- Пример кода auth.js:
- Страница конфигурации Google Provider:
- Полоса, сеанс проверки, Webhook:
- GitHub #1
- GitHub #2
- LinkedIn.com
- Dev.to
- Medium.com
- Тестовые карты полосы:
Зависимости
- Next.js
- Реагировать
- React Dom
- Машинопись
- Танстак запрос
- Люцидные значки
- Tailwind CSS
- Shadcn UI
- React Dropzone
- Реагировать PDF
- Сын
- дата-фнс
- Оптипендизация изображения
- Auth.js
- Призма
- Mongodb
- OpenAI API
- Лангхейн
- Pinecone
- Загрузка
- PDF-Parse
- Полоса
Макет
