Go to file
Chirag f5ff94b508
Mysql Support (#60)
2023-01-05 15:16:16 +01:00
.github/workflows Added github workflow, clean remaning spatie stuff 2022-09-21 09:17:56 +02:00
app Mysql Support (#60) 2023-01-05 15:16:16 +01:00
bootstrap Initial commit 2022-09-20 21:59:52 +02:00
config Fix UTF-8 CSV export (#59) 2023-01-04 13:49:35 +01:00
database Some fixes and installation documentation (#46) 2023-01-04 13:55:23 +01:00
public Better code split for faster pages + image compression 2022-12-14 10:27:21 +01:00
resources Better SEO form previews (#61) 2023-01-05 15:16:06 +01:00
routes B8f7a improve templates pages for seo (#5) 2022-10-02 20:38:41 +02:00
storage Some fixes and installation documentation (#46) 2023-01-04 13:55:23 +01:00
tests Fix test create template 2022-11-16 15:57:10 +01:00
.babelrc Initial commit 2022-09-20 21:59:52 +02:00
.editorconfig Initial commit 2022-09-20 21:59:52 +02:00
.env.example Initial commit 2022-09-20 21:59:52 +02:00
.eslintrc.js Initial commit 2022-09-20 21:59:52 +02:00
.gitattributes Initial commit 2022-09-20 21:59:52 +02:00
.gitignore Sometimes form submission table not load (#2) 2022-09-21 17:36:01 +02:00
.styleci.yml Initial commit 2022-09-20 21:59:52 +02:00
LICENSE Changing license to AGPL 2022-09-20 22:03:59 +02:00
README.md Some fixes and installation documentation (#46) 2023-01-04 13:55:23 +01:00
artisan Initial commit 2022-09-20 21:59:52 +02:00
composer.json Added github workflow, clean remaning spatie stuff 2022-09-21 09:17:56 +02:00
composer.lock Initial commit 2022-09-20 21:59:52 +02:00
package-lock.json Signature block (img) (#39) 2022-12-22 11:53:33 +01:00
package.json Signature block (img) (#39) 2022-12-22 11:53:33 +01:00
phpunit.xml Fix test create template 2022-11-16 15:57:10 +01:00
server.php Initial commit 2022-09-20 21:59:52 +02:00
tailwind.config.js Added aspect ratio plugin 2022-11-29 11:06:31 +01:00
vapor.yml Initial commit 2022-09-20 21:59:52 +02:00
webpack.mix.js Better code split for faster pages + image compression 2022-12-14 10:27:21 +01:00

README.md

OpnForm

Build Status

An open-source form builder. It's an alternative to products like Typeform, JotForm, Tally etc.

Features

  • No-code form builder, with infinite number of fields & submissions
  • Text inputs, Date inputs, URL inputs, Phone inputs, Email inputs, Checkboxes, Select and Multi-Select inputs, Number Inputs, Star-ratings, File uploads & more
  • Embed anywhere (on your website, in your Notion page, etc)
  • Email notifications (for both form owner & form respondents)
  • Hidden fields
  • Form passwords
  • URL form pre-fill
  • Slack integration
  • Webhooks
  • Form logic
  • Customize colors, add images or even some custom code
  • Captcha form protection
  • Form closing date
  • Limit the number of submissions allowed

And much more!

Getting started with OpnForm

The easiest way to get started with OpnForm is with the official managed service in the Cloud.

It takes 1 minute to try out the builder for free. You'll have high availability, backups, security, and maintenance all managed for you.

Self-hosting

🚧 This section is under construction!

Requirements

  • PHP >= 8.0
  • MySQL/MariaDB or PostgreSQL
  • Node.js and NPM/Yarn/... to compile assets

Local installation

First, let's work with the codebase and its dependencies.

# Get the code!
git clone git@github.com:JhumanJ/OpnForm.git && cd OpnForm

# Install PHP and JS dependencies
composer install && npm install

# Compile assets (see the scripts section in package.json)
npm run dev # or prod, or watch

Now, we can configure Laravel. We just need to prepare some vars in our .env file, just create it with cp .env.example .env then open it!

Configure the desired database in the DATABASE_ section. You can fine tune your installation on the laravel documentation.

Finally, just run these artisan commands and you're done!

# Generate needed secrets 🙈
php artisan key:generate
php artisan jwt:secret # and select yes!

# Creates DB schemas
php artisan migrate

🎉 Done! Enjoy your personal OpnForm instance at: http://opnform.test.

Tech Stack

OpnForm is a standard web application built with:

Contribute

You're more than welcome to contribute to this project. We don't have guidelines on this yet, but we will soon. In the meantime, feel free to ask any question here.

License

OpnForm is open-source under the GNU Affero General Public License Version 3 (AGPLv3) or any later version. You can find it here.