Skip to content

Laravel package to modelize Forms/Surveys, save them into DB and handle them using API endpoints. Compatible with VueJS using https://github.com/tpenaranda/vue-duckform package.

Notifications You must be signed in to change notification settings

tpenaranda/duckform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Laravel Duckform

Latest Stable Version Total Downloads License

Laravel package to modelize Forms/Surveys, save them into DB and handle them using API endpoints. There is a VueJS package to handle the FE side (see here). Check https://vue-duckform-demo.tpenaranda.com for a live version of the FE side.

Form schema is defined this way.

Installation

Require package

$ composer require tpenaranda/duckform

Run migrations in order to create tables for forms schemas and user responses.

$ php artisan migrate

Seed DB with a sample form

php artisan db:seed --class TPenaranda\\Duckform\\Database\\Seeders\\DuckformSeeder

Alternatively you can use factories to generate random form.

php artisan tinker
>>> use TPenaranda\Duckform\Facade\Duckform\Duckform
>>> use TPenaranda\Duckform\Models\Form
>>> Duckform::factory(Form::class)->states('with-sections-with-questions-with-possible-answers')->create()

Routes (remember php artisan route:list for entire list)

Form objects (Form structure)
=============================
GET 'api/duckforms/' Get all Forms.
GET 'api/duckforms/{id-slug-token}' Get single Form.

FormSubmit objects (Data submitted for a Form)
==============================================
POST 'api/duckforms/{id-slug-token}/submits' Create a FormSubmit.
PATCH 'api/duckforms/{id-slug-token}/submits/{submitToken}' Modify a FormSubmit
GET 'api/duckforms/{id-slug-token}/submits/{formSubmitToken}' Get a single FormSubmit.
GET 'api/duckforms/{id-slug-token}/submits' Get all submits for a single Form.

About

Laravel package to modelize Forms/Surveys, save them into DB and handle them using API endpoints. Compatible with VueJS using https://github.com/tpenaranda/vue-duckform package.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages