This application is an AI-driven form builder created using Next.js, Next-auth, Shadcn UI, Gemini AI API, Drizzle, PostgreSQL, and TypeScript. It enables users to generate customized forms simply by entering prompts. These forms can then be shared publicly for others to complete. Additionally, the form administrator has the capability to view and manage all submitted responses.
- Next.js: A React framework for building server-side rendered (SSR) and statically generated web applications.
- Next-auth: A complete open-source authentication solution for Next.js applications, enhancing security and simplifying user management.
- Shadcn UI: A modern UI framework for creating beautiful, responsive web interfaces with ease.
- OpenAI API: Integrates cutting-edge artificial intelligence capabilities into applications, enabling powerful AI-driven features.
- Drizzle ORM: An object-relational mapping tool that simplifies database interactions, enhancing code efficiency and reducing development time.
- PostgreSQL: A robust, open-source relational database system known for its reliability, flexibility, and strong performance.
- TypeScript: A statically typed superset of JavaScript that ensures type safety and enhances code maintainability and readability.
- Tailwind CSS: A utility-first CSS framework for rapidly building custom designs without leaving your HTML.
- Framer Motion: A popular library for adding simple and complex animations to React applications, improving user experience and interface dynamism.
- Stripe Payment Integration: Facilitates secure payment processing and integrates seamlessly into web applications, providing a smooth checkout experience.
- Vercel: A platform for deploying and hosting Next.js applications, offering excellent performance and scaling capabilities.
- TenStack for Table: A comprehensive tool for creating and managing dynamic tables, enhancing data visualization and user interactions.
✨ Authentication Secure user authentication ensures that access is controlled and personalized, enhancing both security and user experience.
✨ AI Form Generation
Leverage the power of OpenAI's API to automatically generate forms based on user-provided prompts, making form creation quick and intuitive.
✨ Form Publish and Submissions
Easily publish your forms and manage submissions. Users can fill out forms online, with data securely captured for admin review.
✨ View Your Forms
Access and manage your created forms through a user-friendly interface. This feature allows for easy modifications and updates.
✨ Admin Panel
A robust admin panel is available for managing all aspects of form entries and user interactions, ensuring efficient administrative control.
✨ View Results
Administrators can view detailed results and submissions, providing insights into user interactions and form effectiveness.
✨ Settings & Upgrade Subscription
Manage account settings and subscription options. Users can upgrade their subscription to access enhanced features and capabilities.
✨ Analytics
Integrated analytics offer insights into form performance, user engagement, and other critical metrics to help optimize the user experience.
✨ Landing Page
A well-designed landing page introduces users to iFormBuilder, highlighting features and benefits while encouraging user engagement.
✨ Type Safety
Utilizing TypeScript, the project ensures type safety, enhancing code reliability and maintainability by catching errors early in the development process.
✨ Persistent Data Storage
Leveraging PostgreSQL for data storage, the application ensures data persistence, reliability, and scalability, suitable for handling large volumes of form data securely and efficiently.
"""
-
Clone the repository:
git clone https://github.com/iamtanmay07/iFormBuilder.git
-
Install Dependencies:
cd path/to/your/repository npm intall
-
Set Up Environment Variables:
OPENAI_API_KEY = "" GOOGLE_CLIENT_ID = "" GOOGLE_CLIENT_SECRET = "" AUTH_SECRET = "" DATABASE_URL = "" NEXT_PUBLIC_PUBLISHABLE_KEY= "" STRIPE_SECRET_KEY= "" STRIPE_WEBHOOK_SECRET= ""
We welcome contributions from the community! If you'd like to contribute to this project, please follow these steps:
-
Fork the Repository
Start by forking the repository to your own GitHub account. -
Create a New Branch
Create a new branch in your forked repository for your feature or bug fix. This helps keep development organized and separate from the main codebase. -
Make Your Changes
Implement your feature or bug fix on your branch. Make sure to commit your changes with descriptive commit messages that explain the "what" and "why" of your changes. -
Push Your Changes
After committing your changes, push them to your branch in your forked repository. -
Submit a Pull Request
Submit a pull request to the main repository'sdevelop
branch. Ensure that your pull request describes the changes made and any issues it addresses. -
Adhere to Coding Standards and Tests
Please ensure your code adheres to our coding standards and includes appropriate tests. This ensures quality and maintainability of the codebase. -
Follow Contributing Guidelines
Adhere to the contributing guidelines provided in the repository. This may include code style, commit message conventions, and other workflow practices.
By following these steps, you can contribute to making iFormBuilder even better. We appreciate your efforts to help improve the project!