Skip to content

FlexiForm is a modern, customizable form builder built with Next.js, Tailwind CSS, and Prisma. It features drag-and-drop form creation, real-time previews, dark mode, and secure user authentication — making it easy to create, manage, and share forms effortlessly.

Notifications You must be signed in to change notification settings

abuhasanrumi/flexiForm

Repository files navigation

📝 FlexiForm

FlexiForm is a clean and easy-to-use form builder built with modern web tools. It lets users create, customize, and manage forms through a simple drag-and-drop interface. Whether you're collecting feedback, registrations, or survey data, FlexiForm helps you get started quickly with a responsive and polished experience.


🌟 Features

  • Drag & Drop Builder – Easily arrange form fields just the way you want

  • Live Preview – See changes in real time as you build your form

  • Field Types Supported:

    • Text, Title, Paragraph, Number
    • Dropdowns with options
    • Checkboxes with custom labels
    • Date pickers, spacers, and separators
  • Form Management:

    • Create, edit, publish, and delete forms
    • View and export responses
  • Customization Options:

    • Validation rules per field
    • Custom error messages
    • Conditional visibility
  • Sharing:

    • Share forms via unique links
    • Control who can access
  • User Experience:

    • Dark mode available
    • Fully responsive on all devices
  • Authentication & Security:

    • Sign-in support with Clerk
    • Secure submission handling

🛠️ Tech Stack

  • Frontend: Next.js 14 with App Router
  • Styling: Tailwind CSS + Shadcn UI
  • Database: Prisma with PostgreSQL
  • Authentication: Clerk
  • Form Builder: DND Kit for drag-and-drop functionality
  • State Management: React Context API
  • Icons: Lucide React + React Icons
  • UI Components: Custom components with Radix UI primitives

📦 Installation

  1. Clone the repository:
git clone https://github.com/yourusername/flexiform.git
cd flexiform
  1. Install dependencies:
npm install
  1. Set up environment variables:
DATABASE_URL="your-database-url"
CLERK_SECRET_KEY="your-clerk-secret"
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="your-clerk-publishable-key"
  1. Run database migrations:
npx prisma migrate dev
  1. Start the development server:
npm run dev

📁 Project Structure

├── app/                 # Next.js app router pages
├── components/          # React components
│   ├── fields/         # Form field components
│   ├── ui/            # UI components
│   └── hooks/         # Custom React hooks
├── prisma/             # Database schema and migrations
├── public/             # Static assets
└── schemas/            # Validation schemas

👨‍💻 Author

Abu Hasan Rumi

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🏆 Badges

Next.js Tailwind CSS Prisma License

About

FlexiForm is a modern, customizable form builder built with Next.js, Tailwind CSS, and Prisma. It features drag-and-drop form creation, real-time previews, dark mode, and secure user authentication — making it easy to create, manage, and share forms effortlessly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages