A modern web application that allows users to create and manage forms using AI assistance. Built with Next.js, Drizzle ORM, and Clerk authentication.
- 🤖 AI-powered form generation from natural language descriptions
- 🎨 Customizable form themes and styles
- 📱 Responsive design for all devices
- 🔒 Secure authentication with Clerk
- 💾 Form data storage with Drizzle ORM and Neon Database
- 📊 Form response collection and management
- 🔄 Real-time form updates
- 🎯 Form sharing capabilities
- Frontend: Next.js 14, React, Tailwind CSS
- Backend: Next.js API Routes
- Database: Neon Database (PostgreSQL)
- ORM: Drizzle ORM
- Authentication: Clerk
- AI Integration: Custom AI session management
- Styling: Tailwind CSS, Shadcn UI,Magic UI,Daisy UI components
- Form Management: Custom form builder with JSON schema
- Node.js 18+
- npm or yarn
- Neon Database account
- Clerk account
- Clone the repository:
git clone https://github.com/amaan287/AI-Form-Builder.git
cd AI-Form-Builder- Install dependencies:
npm install
# or
yarn install- Set up environment variables:
Create a
.envfile in the root directory with the following variables:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
NEXT_PUBLIC_DATABASE_URL_CONFIG=your_neon_database_url- Initialize the database:
npx drizzle-kit push- Start the development server:
npm run dev
# or
yarn devai-form-builder/
├── app/ # Next.js app directory
│ ├── api/ # API routes
│ ├── dashboard/ # Dashboard components
│ ├── edit-form/ # Form editor components
│ └── aiform/ # Form response components
├── components/ # Shared UI components
├── configs/ # Configuration files
│ ├── schema.js # Database schema
│ └── db.js # Database connection
├── public/ # Static assets
└── styles/ # Global styles
-
Create a Form
- Navigate to the dashboard
- Click "Create Form"
- Enter a description of your form
- Let AI generate the form structure
- Customize the form as needed
-
Edit a Form
- Select a form from the dashboard
- Modify form fields, labels, and options
- Change form theme and style
- Save changes
-
Share a Form
- Click the share button on any form
- Copy the generated link
- Share with respondents
-
View Responses
- Access form responses through the dashboard
- View individual responses
- Export response data
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email support@example.com or join our Slack channel.