QuickFAQs is a full-stack application that leverages OpenAI's GPT models to automatically generate comprehensive FAQ sections for businesses. The platform offers both free and premium tiers, with features like unlimited generations, custom branding, and API access.
- AI-powered FAQ generation using OpenAI's GPT
- User authentication and authorization
- Subscription management with Stripe
- Credit-based system for free tier users
- Modern, responsive UI built with React and Tailwind CSS
- RESTful API built with Node.js and Express
- MongoDB database for data persistence
- Frontend: React, Tailwind CSS, React Router
- Backend: Node.js, Express
- Database: MongoDB
- Authentication: JWT
- AI: OpenAI GPT API
- Payments: Stripe
- Deployment: Vercel/Netlify (frontend), Heroku/AWS (backend)
QuickFAQs/
├── frontend/ # React frontend application
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── contexts/
│ │ ├── hooks/
│ │ ├── pages/
│ │ ├── services/
│ │ └── utils/
│ └── package.json
│
├── backend/ # Node.js backend application
│ ├── src/
│ │ ├── config/
│ │ ├── controllers/
│ │ ├── middlewares/
│ │ ├── models/
│ │ └── routes/
│ └── package.json
│
└── README.md # This file
- Node.js (v14 or higher)
- MongoDB installed locally or MongoDB Atlas account
- OpenAI API key
- Stripe account and API keys
-
Navigate to the backend directory:
cd backend -
Install dependencies:
npm install
-
Copy
.env.exampleto.envand fill in your environment variables:cp .env.example .env
-
Start the development server:
npm run dev
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Copy
.env.exampleto.envand configure the API URL:cp .env.example .env
-
Start the development server:
npm start
- POST
/api/auth/signup- Create new user account - POST
/api/auth/login- Login to existing account
- POST
/api/faq/generate- Generate new FAQ - GET
/api/faq/user- Get user's generated FAQs - GET
/api/faq/:id- Get specific FAQ by ID
- POST
/api/payment/create-checkout-session- Create Stripe checkout session - POST
/api/payment/webhook- Handle Stripe webhooks
- Choose a hosting platform (Heroku, AWS, etc.)
- Set up environment variables
- Configure MongoDB connection
- Deploy the application
- Build the production version:
cd frontend npm run build - Deploy to Vercel, Netlify, or similar platform
- Configure environment variables
- Use ESLint and Prettier for consistent formatting
- Follow React best practices and hooks guidelines
- Implement proper error handling and loading states
- Write clear, self-documenting code
- Create feature branches from
main - Use meaningful commit messages
- Submit pull requests for review
- Merge after approval
- Write unit tests for critical functionality
- Perform manual testing before deployment
- Test all subscription flows thoroughly
- Verify OpenAI integration works as expected
- Implement error logging
- Monitor API usage and response times
- Track failed payments and subscription issues
- Monitor frontend load times
- Track API endpoint performance
- Optimize database queries
- Cache frequently accessed data
- Regular dependency updates
- Security audit of authentication flow
- Protect sensitive API endpoints
- Secure handling of API keys and tokens
-
Features
- Custom FAQ templates
- Bulk FAQ generation
- Export options (PDF, Word, HTML)
- API access for premium users
-
Technical
- Add TypeScript support
- Implement real-time updates
- Add comprehensive test coverage
- Implement rate limiting
-
Business
- Analytics dashboard
- Team collaboration features
- Custom branding options
- Integration with popular platforms
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
MIT
For support, email support@quickfaqs.com or create an issue in the repository.