Formed is built with the most popular PHP framework Laravel, if you are a developer, you can treat this application as a typical Laravel setup and install it any way you wish by following the official guide: https://laravel.com/docs/8.x/installation.
If you are not a developer, this section is for you.
formed.zip file, it should give you a formed folder containing all sorts of files and folders:README.md
formed-builder
server.php
app
node_modules
storage
artisan
package-lock.json
tailwind.config.js
bootstrap
package.json
tests
composer.json
phpunit.xml
todo.md
composer.lock
public
vendor
config
resources
webpack.mix.js
database
routes
yarn.lockformed folder to your server's public directory(It's usually called public_html,www or site).sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cacheMake sure you run the command above from the formed directory.
If you are using Cpanel or Plesk, please make sure the DocumentRoot is pointing to socially/public.

To smooth the installation process, we built an installation wizard.
After the successful completion of the setup above, navigate to your website's public URL: http://your-site/formed. You will be redirected to the installation wizard.




If you want to run this application as a SaaS service. That is to use these modules:

You must set the following configuration correctly:
.env located at the root directory:
Fill in the correct Stripe key values for both STRIPE_KEY and STRIPE_SECRET. If you are not sure how to find the Stripe keys, check out this link: https://support.stripe.com/questions/locate-api-keys-in-the-dashboard.
Create webhook URL in the Stripe control panel. For convenience, you just need to run the command below and it will create a webhook in Stripe that listens to all of the events required by Formed.
Run this command from your application's root directory:
php artisan cashier:webhook
If you are going to Email notification integration, you will have to config the email service correctly:
.env located at the root directory:
smtp is the simplest method for sending an email. 
You should be able to find email configuration values on the email service site.
If you are feeling lazy or you are someone who does not enjoy the process of messing with the server, we are here to help.
In this part of the documentation, we will show you how to use this application to create the forms you need.
Navigate to the Forms module from the left-side navigation and click New Form:

Create a form using a powerful drag-n drop builder. Once done, create the Save button on top to create a form:

You shall be redirected to the index page, create the Share button, you will the URL for this form. You can publish this URL anywhere now to collect the data you need:

Responses module from the left-side navigation and select the form from the top-left dropdown list:
Export button:
To create a multiple-pages form, click the Add page button in the form builder:

Redirect to custom URL icon on the form builder's final page:

Formed provides integration with 3rd party applications.
To use this feature, make sure you have done the configuration required in the Installation step.
You can set up notification via Email notification, this integration will forward the collected data to an email inbox.
Integrations module from the left-side navigation. Firstly enable the email integration by clicking the status toggle, click the Setting icon afterward:

This application is built with a modern web development stack:
If you need to localize language to your own needs. We got you covered.
resources/lang/zh_CN.json to resources/lang/your-language-of-choice.json, your-language-of-choice refers to your preferred language, e.g. zhyour-language-of-choice.json file. .env and assign APP_LOCALE to your language:
APP_LOCALE=zh
We believe in unit tests. It helps us build a solid and maintainable codebase. Our core codes are covered by unit test.
All test files are located in tests directory.
Before running the test, make sure you create a test database, by default, the test database is called formed_test. You can change it at .env.testing.
Run the tests via CLI:
vendor/bin/phpunit 
There are two parts. One is the form builder, and the other is the typical view pages.
The form builder is made by ReactJS and it is a separated pure JS application located at formed-builder directory.
To custom the builder, you should do so independently:
cd formed-builder
yarn install
yarn prod The commands above will compile the form builder with your changes.
To compile the classic Laravel assets, we need to run:
npm install
npm run prodThe commands above will compile the Laravel CSS and view files.
Thanks for supporting us and if you encouter any issue with this script. Feel free to contact us via email hi[at]staticmaker.com.
Thanks again for purchasing this script.