Welcome to Craftlo Documentation
Thank you for purchasing Craftlo – Laravel Visual Data, Form Builder & API Manager. This documentation will guide you through installation, configuration, and the core features available in Craftlo.
Craftlo provides a visual way to create and manage custom data modules, build forms, collect submissions, connect external APIs, and automatically expose configurable REST APIs from your Laravel application.
Server Requirements
Craftlo is built with Laravel 13 and requires PHP 8.4 or higher. The installer will automatically check whether your server meets the required environment and extension requirements.
If you are unsure whether your hosting environment meets these requirements, contact your hosting provider for assistance.
- PHP 8.4 or higher
- BCMath PHP Extension
- Ctype PHP Extension
- Fileinfo PHP Extension
- JSON PHP Extension
- Mbstring PHP Extension
- OpenSSL PHP Extension
- PDO PHP Extension
- Tokenizer PHP Extension
- XML PHP Extension
- CURL PHP Extension
Installation
Before installing Craftlo, you will need to create a new, empty database. If you are already familiar with creating MySQL databases, you may skip this step.
This guide uses a cPanel-based server as a reference. The general installation process is similar across most hosting environments.
Creating a New Database
Sign in to your server and locate the MySQL Database Wizard option from your cPanel dashboard.
Enter the database name and click Next Step to create the database.
Provide the required details to create the database user.
Once entered, click Next Step to create the user.
Note: Make sure you save these database credentials somewhere safe.
Grant the newly created database user the required privileges and permissions.
Uploading Files
Once the database has been created, upload the contents of the main_files folder to your domain's web root directory. Depending on your hosting environment, this directory may be named public_html, html, example.com, or something similar.
Note: Some operating systems hide dotfiles by default. Before uploading the files, make sure your file explorer is configured to show hidden files.
Note: Make sure the .env and .htaccess files are uploaded correctly.
Installation Wizard
Navigate to your website address to access the Craftlo installation wizard. To launch the installer, visit: yourdomain.com/install
The first screen displayed by the installer is the Welcome screen.
Note: If you cannot access the website using yourdomain.com/install but can access it using yourdomain.com/index.php/install, Apache mod_rewrite may not be installed or enabled on your server.
System Requirements
After clicking the Check Requirement button, the installer will display the System Requirements step.
Directory Permissions
After the required PHP extensions have been verified, the installer will check the permissions of the required system directories.
To set the required permissions, open your terminal and run the permission command shown by the installer, for example: sudo chmod 777 directory_name. You can also change permissions manually through your hosting control panel or file manager.
Environment Settings
Enter the required environment settings for your installation.
Database
Enter the database credentials you created earlier.
Application
You can configure Pusher and mail settings during installation, or skip these settings and configure them later.
Installation Finished
Once the installation is complete, the installer will provide the default login credentials. Be sure to copy and store them securely. It is recommended that you change the default password after your first login.
Default Superadmin Login
Email: superadmin@example.com
Password: 123456789
Google Login
To configure Google Login, you will need a Google Client ID and Client Secret. These credentials can be created from the Google Developers Console. http://console.developers.google.com/
From the top navigation bar, click Create Credentials and select OAuth client ID.
Select Web Application as the application type and enter the required information, including the application name, authorized redirect URL, and authorized origin URL.
Make sure the correct redirect URL is configured as the callback URL. You can find the required redirect URL by logging in as Super Admin, navigating to Module Settings, and opening Google Login Settings.
You can also use the following format: https://your.domain/google-callback
After creating the OAuth credentials, Google will provide your Client ID and Secret Key. Store these credentials securely.
Facebook Login
To configure Facebook Login, you will need a Facebook App ID and Secret Key. These credentials can be created from the Facebook Developers Console.
https://developers.facebook.com/Create App
Select Use Case
Connect to your business portfolio.
Review the requirements for business verification.
Review the application overview.
Once your application is created, navigate to Basic and enter the required application details and verification information.
Craftlo also allows you to create custom pages such as Privacy Policy, Terms, and About Us. These pages can be created from the administration panel and their URLs can be used where required.
Go to the Dashboard and enable Facebook Login authentication. If the option is not visible, check the available products under Products.
Make sure the correct callback URL is configured. You can find the required redirect URL by logging in as Super Admin, navigating to Module Settings, and opening Facebook Login Settings.
You can also use: https://your.domain/facebook-callback
ReCaptcha
Visit the reCAPTCHA website and sign in with your Google account. You can access reCAPTCHA at: https://cloud.google.com/security/products/recaptcha/
Click Get Started and create a new site for reCAPTCHA.
Enter the required details and submit the configuration. Once completed, you will receive your Secret Key and Site Key. Store these credentials securely.
Usage Guide
This section explains the core workflows in Craftlo, including creating custom data modules, collecting submissions, managing records, connecting external APIs, and working with automatically generated REST APIs.
1. Creating and Managing CRUD Modules
Craftlo allows you to visually create custom data modules without manually writing database migrations or database schemas for each module.
Step-by-Step Creation:
- Navigate to Manage CRUD > Create CRUD from the main administrative sidebar.
-
Basic Details:
Enter a descriptive name for your module, such as
Client Onboarding.
Craftlo automatically generates a system slug such as
client_onboardingfor internal operations and permissions. - Form Customization: Use the visual form builder to add and configure fields. Available field types include Short Text, Number, Email, Date, Textarea, Select, Radio Buttons, Checkboxes, File Uploads, References to other CRUD Modules, Multiple File Uploads, and E-Signature fields.
- Form Layout: Add Section Headings and Paragraph blocks to organize longer forms and improve their structure.
- Column Visibility: For each field, choose whether it should appear in the module's main records table.
- Save the configuration to create and deploy the module.
2. Setting Up Public Forms & Consent Rules
Any custom CRUD module can be made available as a public-facing form for collecting information without requiring users to log in.
- Public Form URL: Each active CRUD module has its own sharing link. Use the Copy Link option to copy the URL.
- reCAPTCHA Protection: Enable Google reCAPTCHA from the module settings to help protect public forms from automated submissions.
- Submission Limits: Set a maximum number of public submissions allowed for a form.
- Consent Checkbox: Add a consent checkbox to require users to agree to your privacy policy or Terms of Service before submitting a form.
-
Submission Information:
Craftlo can store information such as the submitter's IP address,
browser agent, and device type with public submissions.
Note: IP Address and Device Details will only be saved if consent is enabled.
3. Managing Records & Exporting Data
Review submitted records, manage stored information, preview uploaded files, and export selected data for external use.
Managing Submissions:
- Record Management: Open the records section of any module to view detailed records, edit information, or delete records according to the configured permissions.
- File & Media Preview: Click uploaded files, documents, images, or e-signatures from the records table to preview them without leaving the current page.
Exporting Data:
- Click the Export CSV/Excel option from the records section of the selected module.
- Date Range: Select an optional Start Date and End Date to export a specific range, or select All Time Records.
- Column Selection: Select only the fields you want to include in the exported file. Unselected fields are excluded from the export.
-
Formatted Output:
Craftlo removes unnecessary markup from exported text.
Uploaded files and attachments can also be included as
clickable
=HYPERLINK()cells in Excel exports.
4. Working with the API Manager
Craftlo can connect your data workflows with external APIs, applications, microservices, and development tools such as Postman.
- Send Forms: Send structured form data to external API endpoints.
- Receive Forms: Retrieve data from external APIs and display the results inside Craftlo.
- JSON Data Mapping: Select the required root path from nested JSON responses and map returned objects into data records.
- Automatic Form Prefill: When updating a record through a Receive Form, Craftlo can retrieve the remote API data and automatically populate the corresponding form fields.
-
Request Formats:
Send requests using
JSON,Form-URL-Encoded, orMultipart/Form-Data. -
File Transfers:
Send files using multipart requests or encode files using
Base64where required by the external API. - Custom Headers: Configure custom request headers such as Bearer Tokens, API Keys, authorization headers, and other custom values.
5. Automatic REST APIs & API Blueprints
Each CRUD module created in Craftlo can have its own configurable REST API for programmatic access to its data.
- Automatic Endpoints: When a CRUD module is created, Craftlo can generate RESTful endpoints for List, View, Store, Update, and Delete operations.
- Access Controls: Configure API access using authentication requirements, user role permissions, or public creation access where supported.
-
JSON Blueprints:
Export API configuration as a
.jsonblueprint and import it into another environment. - Postman Support: Export API configurations in a Postman-compatible format to test endpoints, parameters, headers, and request bodies.
If you need additional assistance with a feature or workflow that is not covered in this documentation, please contact support.
Frequently Asked Questions (FAQ)
Find answers to common questions about Craftlo and its core functionality.
Q: How does Craftlo store data for dynamically created forms?
A: Craftlo uses a structured master data system for dynamically created modules and their submissions. Instead of requiring a separate database table and migration for every dynamically created form, Craftlo stores the dynamic configuration and submission data within its structured data storage system.
Q: Can I extend or customize Craftlo for specific requirements?
A: Yes. Craftlo is built on the Laravel framework and follows a modular architecture. Developers can customize or extend the application according to their project requirements.
Q: How are permissions handled for dynamically created modules?
A:
Craftlo automatically creates permission identifiers based on the
module slug. For example, a CRUD module using the slug
client_onboarding can use a permission such as
manage_client_onboarding.
API permissions follow a similar structure.
Q: Why does the Excel export use the =HYPERLINK() formula
for uploaded files?
A:
File attachments can otherwise appear as raw file paths in exported
spreadsheets. Craftlo can generate native Excel
=HYPERLINK() cells for uploaded files, allowing users
to click the exported link to open or access the associated file.
Q: Can I move API configurations from a staging environment to production?
A:
Yes. Craftlo includes JSON Blueprint export and import functionality.
You can export an API configuration as a .json file
and import the configuration into another Craftlo environment.
API configurations can also be exported in a Postman-compatible format
for testing.
Q: Does Craftlo support multiple languages?
A: Yes. Craftlo includes a visual JSON Language Manager in the administration panel and supports multiple languages, including English, Spanish, French, Portuguese, German, Italian, Japanese, and Arabic.
Support
For support, please contact us at codeonstring@gmail.com. We will respond as soon as possible, typically within one working day.
Change Log
Version 1.0.0 – Initial Release