Documentation
Step-by-step guides and references to help you use Kodecraft products.
Documentation Overview
1. Installation & Setup
Install QAFlow from a fresh server to your first admin login — requirements, environment setup, migrations and the cron job.
This guide walks through installing QAFlow on a fresh server, from unpacking the release to running your first admin login.
1. Server Requirements
- PHP 8.2 or higher, with the
bcmath,ctype,curl,fileinfo,mbstring,openssl,pdo,tokenizerandxmlextensions enabled - MySQL 5.7+ or MariaDB 10.3+
- Composer 2.x
- A cron-capable host (for scheduled digests, AI moderation sweeps and streak resets)
- HTTPS strongly recommended — required if you enable the PWA install prompt
2. Upload and Extract
Download the release zip from your account's Downloads page, upload it to your server, and extract it into your target directory (e.g. public_html or a subdomain root). All PHP files must sit above the public web root except the contents of the public/ folder, which should be your actual document root.
3. Install Dependencies
From the project root, run:
composer install --no-dev --optimize-autoloader
4. Configure the Environment
Copy .env.example to .env and fill in:
APP_URL— your site's full URL, includinghttps://DB_DATABASE,DB_USERNAME,DB_PASSWORD— your MySQL connection detailsMAIL_*— SMTP details, used for verification emails and notifications
Then generate the application key:
php artisan key:generate
5. Run Migrations and Seed Defaults
php artisan migrate --forcephp artisan storage:link— required for uploaded avatars, attachments and badge icons to be publicly reachable
6. Set Up the Cron Job
QAFlow's daily streaks, scheduled digests, AI auto-moderation queue and bounty expirations all run through Laravel's scheduler. Add a single cron entry pointing at the scheduler, running every minute:
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
7. Complete the Setup Wizard
Visit your domain in a browser. QAFlow detects a fresh install and launches the setup wizard, which creates your admin account, sets the site name, and lets you connect an AI provider (OpenAI, Anthropic, Google Gemini, Groq or Stability AI) — you can also skip this and add it later from Admin → Settings → AI Providers.
8. Enable Only What You Need
QAFlow ships with one-click feature toggles for every content type and module. After install, head to Admin → Settings → Features and disable anything you don't need (Jobs, Deals, Recipes, etc.) — disabled modules are hidden from navigation and the API without any code changes.