Skip to content

matheins/Dorf

Repository files navigation

Dorf - An open source visual form builder for everyone who wants to gather feedback, leads and opinions

An open source visual form builder for everyone who wants to gather feedback, leads and opinions.

Twitter License

Introduction · Tech Stack · Contributing


Introduction

Dorf is an open-source visual form builder to easily gather feedback, leads and opinions. Built with Vercel KV, and PlanetScale MySQL.

Tech Stack

Development

  1. Clone this repo
  2. cp .env.example .env.local
  3. Set NEXTAUTH_SECRET in .env.local with value returned when running openssl rand -base64 32 in your terminal
  4. Configure Github auth provider by following this guide (callback url ${NEXT_PUBLIC_APP_URL}/api/auth/callback/github) and add email to permissions
  5. Set DATABASE_URL in .env.local to the connection string of your mysql database (either locally running or a Planetscale development branch). Format should be mysql://USER:PASSWORD@HOST/DATABASE?ssl={"rejectUnauthorized":true}
  6. Set these .env vars to .optional() in src/env.mjs if you dont want to use Email authentication:
    SMTP_FROM: z.string().min(1).optional(),
    POSTMARK_API_TOKEN: z.string().min(1).optional(),
    POSTMARK_SIGN_IN_TEMPLATE: z.string().min(1).optional(),
    POSTMARK_ACTIVATION_TEMPLATE: z.string().min(1).optional()
    
  7. Create Vercel KV Database in your dashboard and connect it to a (new) project.
  8. Set the provided secrets in .env.local for following values:
KV_URL=
KV_REST_API_URL=
KV_REST_API_TOKEN=
KV_REST_API_READ_ONLY_TOKEN=
  1. Run pnpm i to install dependencies (if you haven't installed pnpm yet follow this guide)
  2. Run pnpm run db:push to push the database schema to your database
  3. Run pnpm dev to start the development server
  4. Happy coding 🎉

Contributing

We love our contributors! Here's how you can contribute:

  • Open an issue if you believe you've encountered a bug.
  • Make a pull request to add new features/make quality-of-life improvements/fix bugs.

Author

License

Inspired by Plausible and Dub, Dorf is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can find it here.

About

A free and open source form builder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published