VirtuHelpX is a sophisticated AI-powered document interaction platform that enables users to upload, analyze, and interact with documents through an intelligent chat interface. Built with modern technologies and best practices, it offers a subscription-based model with various tiers to suit different needs.
- 🤖 AI-Powered Chat Interface: Interact with documents using natural language
- 📄 Document Management: Upload and manage various document types
- 💬 Intelligent Q&A: Get instant answers from your documents
- 🔒 Secure Authentication: Robust user authentication system
- 💳 Subscription Plans: Flexible pricing tiers with different features
- 📱 Responsive Design: Works seamlessly on all devices
- 🔄 Real-time Updates: Instant responses and updates
- 🎨 Modern UI: Beautiful and intuitive user interface
-
Frontend:
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- shadcn/ui Components
- React Markdown
-
Backend:
- Next.js API Routes
- Prisma ORM
- PostgreSQL
- OpenAI API
-
Authentication & Payments:
- NextAuth.js
- PayPal Integration
- JWT Tokens
Before you begin, ensure you have the following installed:
- Node.js (v18.17 or higher)
- npm or yarn
- PostgreSQL
- Git
-
Clone the repository
git clone https://github.com/RaheesAhmed/virtuhelp-x.git cd virtuhelp-x
-
Install dependencies
npm install # or yarn install
-
Set up environment variables Create a
.env
file in the root directory with the following variables:
#JWT SECRET
JWT_SECRET=
#NEXTAUTH
NEXTAUTH_SECRET=
#Next Auth URL
NEXTAUTH_URL=http://localhost:3000
#Clerk
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/chat
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/verify-email
NEXT_REDIRECT_URL=/chat
#OpenAI
OPENAI_API_KEY=
OPENAI_ASSISTANT_ID=
OPENAI_VECTOR_STORE_ID=
#Debug
DEBUG="prisma:\*"
#Database
DATABASE_URL=
DIRECT_URL=
DEBUG="prisma:\*"
#Paypal
NEXT_PUBLIC_PAYPAL_CLIENT_ID=
PAYPAL_CLIENT_ID=
PAYPAL_SECRET_KEY=
#PayPal Plan IDs
NEXT_PUBLIC_PAYPAL_BASIC_PLAN_ID=
NEXT_PUBLIC_PAYPAL_PREMIUM_PLAN_ID=
NEXT_PUBLIC_PAYPAL_ENTERPRISE_PLAN_ID=
- Set up the database
npx prisma generate
npx prisma db push
-
Run the development server
npm run dev # or yarn dev
-
Open your browser Navigate to
http://localhost:3000
- 3 preloaded documents
- 3 self-uploaded documents
- Unlimited questions
- Basic summaries
- 5 preloaded documents
- 7 self-uploaded documents
- Advanced summaries
- Email support
- 20 documents
- AI-powered insights
- Cloud storage integrations
- Priority support
- Unlimited documents
- Team collaboration
- Custom branding
- API access
-
Sign Up/Login
- Create an account or login
- Choose your subscription plan
-
Upload Documents
- Click the upload button in the dashboard
- Select documents (supported formats: PDF, DOCX, TXT)
- Wait for processing
-
Chat Interface
- Navigate to the chat section
- Ask questions about your documents
- Get AI-powered responses
-
Manage Subscription
- Access subscription settings
- Upgrade/downgrade plan
- View usage statistics
API documentation is available at API.md when running the development server.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for their powerful API
- The Next.js team for the amazing framework