/ConvoForm

Create interative conversational forms

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

About ConvoForm

ConvoForm.com transforms traditional forms into interactive conversational experiences, powered by AI for an enhanced user journey. Think Google Forms, but more engaging and intuitive.

Features:

  • AI-Powered Form Generation: Automatically generate comprehensive forms by describing your needs, streamlining the creation process.
  • Real-time Form Editing and Preview: Edit forms with live changes previewed on the same page, providing immediate feedback.
  • Customizable Submission Pages: Tailor the submission page with your organization's branding and personalized messages.

Learnings

In the course of building it from scratch, I penned down some insightful pieces on Medium reflecting on my journey and learning, I hope these articles provide value to your coding journey.

Tech Stack

  • Frontend: Next.js for optimized server and client rendering.
  • Backend: tRPC for type-safe API development.
  • AI Integration: GPT-3.5-Turbo for dynamic form generation and response analysis.
  • Real-time updates: Socket.io for live form progress tracking.

Local Setup

Follow these steps to set up the project locally on your machine.

Prerequisites

  • Make sure you have the following installed:

  • You need a PostgreSQL database instance to store the customer data. Create a free superbase Postgres instance at Supabase.

  • Clerk is used for Authentication and User Management. Please make sure you Enable organizations in Organizations Settings within Clerk settings.

  • Get your OpenAI key at OpenAI Dashboard

  • You need a Redis Database from Upstash (Optional if you want rate limiting)

  • Application Performance Monitoring & Error Tracking is done using Sentry

  1. Clone the Repository

git clone https://github.com/growupanand/ConvoForm.git
cd ConvoForm
  1. Install Dependencies

pnpm install
  1. Configuration environment

    1. Copy the .env.example file to .env.local file.
      cp .env.example .env.local
    2. Open the .env.local file and update the necessary environment variables.
    3. Setup database by running migrations
      pnpm drizzle:apply-migration
      
  2. Run the Development Server

pnpm run dev

Visit http://localhost:3000 in your browser to see the application.

  1. Build for Production

pnpm run build

Community and Support

Join our community on Discord to get support, share feedback, and connect with other users and developers:

Contributing

Feel free to contribute to the development by opening issues, providing feedback, or submitting pull requests. see the CONTRIBUTING.md for more details.

License

This project is licensed under the MIT License.