Before you start
- Windows, macOS, or Linux PC
- PHP 8.2+ with extensions: mbstring, openssl, pdo_mysql, tokenizer, xml, ctype, json, bcmath, fileinfo, gd or imagick, curl, zip
- MySQL or MariaDB (comes with XAMPP / Laragon)
- Your FaithCode zip (it already includes the
vendorfolder) - Your Envato purchase code for the base FaithCode product, and a browser that can open verifier.faithcode.tech
Choose your local stack
| Stack | Best if… | Typical web folder |
|---|---|---|
| Laragon (Windows) | You want one-click Apache/Nginx + MySQL | C:\laragon\www\faithcode |
| XAMPP | You already use XAMPP / phpMyAdmin | C:\xampp\htdocs\faithcode |
| PHP CLI only | You prefer php artisan serve |
Any folder, e.g. D:\projects\faithcode |
Start Apache (or Nginx) and MySQL from your stack’s control panel before continuing.
Place the project on your PC
-
Unzip the package
Extract the FaithCode zip into your web folder (Laragon
www, XAMPPhtdocs, or any project folder). -
Find the Laravel app folder
Open the folder that contains
artisan,app,public, andcomposer.json.- Some packages put that at the zip root.
- Others nest it as
laravel_app— if so, work insidelaravel_appfor all commands below.
The CodeCanyon zip already containsvendor. Do not run Composer, and do not run migrate. Open the site and use Setup.
Create a local MySQL database
-
Open phpMyAdmin
Usually
http://localhost/phpmyadminwhile MySQL is running. -
Create an empty database
Databases → Create → name it e.g.
faithcode→ Create. Leave it empty (no tables). -
Note the login you will type in Setup
Host127.0.0.1orlocalhostDatabasefaithcode(your name)Usernameroot(XAMPP/Laragon default)Passwordoften empty on fresh XAMPP/Laragon — use yours if you set one
Website address (APP_URL) and database — explained simply
FaithCode keeps important settings in a hidden file named .env
(think of it as a private notebook for your install).
The two settings people change most often are:
where the website lives (APP_URL) and
how to open the database (DB_*).
.env mostly alone and type the database + website URL inside the
Setup Wizard. The wizard writes them into .env for you.
Use this section when you want to understand the values, fix a wrong URL, or edit them by hand later.
What is the .env file?
- It sits in the same folder as
artisan(your Laravel app folder). - File names that start with a dot can be hidden in some file explorers — turn on “show hidden files” if you cannot see it.
- Never share this file publicly. It can contain passwords.
- The package already includes
.env. The Setup Wizard fills the app key, website address, and database. Do not generate a key or run migrate before Setup.
Website address — APP_URL
APP_URL must be the exact address you type in the browser to open FaithCode
on this computer — including http:// and the port number if you use one.
APP_URL does not match the address in your browser, styles, images, or login redirects can break
(CSS/JS “missing”, wrong links, cookies acting strangely).
| How you open the site | Set APP_URL to |
|---|---|
php artisan serve (default) | http://127.0.0.1:8000 |
| Same server on another port | http://127.0.0.1:8001 (match your port) |
| Laragon / virtual host | http://faithcode.test (your local domain) |
XAMPP like http://localhost/faithcode/public | That full URL, ending where the site really opens |
APP_URL=http://127.0.0.1:8000
- Use
http://on localhost (nothttps://) unless you purposely set up local SSL. - Do not put a live domain here while testing on your PC.
- Do not add a trailing slash: use
http://127.0.0.1:8000, not…8000/. - If you later move the same project to cPanel, change
APP_URLto your realhttps://your-domain.com— see the cPanel APP_URL + database guide.
Database settings — DB_*
These tell FaithCode how to open the empty MySQL database you created in Create the database. Write them carefully — one wrong letter and the connection fails.
mysql127.0.0.1 (try this first) or localhost3306 (default MySQL port)faithcoderoot on XAMPP / Laragon= if you have no passwordDB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=faithcode
DB_USERNAME=root
DB_PASSWORD=
DB_PASSWORD= with nothing after the equals sign.
Do not put spaces or the word “null”.
Example local block (copy & adjust)
APP_ENV=local
APP_DEBUG=true
APP_URL=http://127.0.0.1:8000
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=faithcode
DB_USERNAME=root
DB_PASSWORD=
.env as shipped and enter the database on the Setup page. Do not run migrate.
Setup Wizard vs editing .env
| Situation | What to do |
|---|---|
| First-time install | Open /setup and finish every step, starting with the product key. |
| Wizard already finished; CSS broken / wrong links | Set APP_URL to the exact browser address, save, and refresh. |
| Database connection failed after install | Fix DB_* in .env, save, and open the site again. |
| You changed the MySQL password later | Update DB_PASSWORD in .env and refresh. |
Open the site
Point Laragon or XAMPP at the public folder, start Apache and MySQL, then open that local address (for example http://faithcode.test or http://localhost/faithcode/public).
You should land on the Setup Wizard. If you see the normal login page or a blank page, open /setup on that same address.
artisan with php artisan serve, then open http://127.0.0.1:8000/setup. That only starts the website. It does not replace Setup, and you still do not run migrate.
Setup Wizard — required for every buyer
There is no skip. A base zip with add-ons and a base zip without add-ons both start here with a product key made from the base purchase.
The pictures below are the real Setup pages. They look the same on your PC and on cPanel. Follow them in order.
-
1 · License
Do not paste the CodeCanyon purchase code on this page. Open verifier.faithcode.tech, paste the base FaithCode purchase code, and enter the website as localhost. Complete the Google captcha if it appears, then copy the product key. It looks like
FC-2345-ABCD-EFGH-JKLM-NPQR-STUV. Paste that key here, tick the confirmation, then Verify & continue. Your PC must be online. The key works once, on this computer only. A local key does not use up your live website.
Step 1 — License. The picture shows a live domain. On your PC the chip says localhost, and you enter localhost on the license desk. A first install on an empty database does not show the extra lines in this picture. Those lines appear only when tables already exist: continuing verifies the code and keeps your data. Open Advanced: start fresh only when you intend to delete everything in that database. -
2 · Server
Every row should say Ready. If one is red, enable that PHP extension and refresh.
Step 2 — Server. Continue only when every check is green. -
3 · App
On your own PC you may choose Local. On a public address choose Production and leave detailed errors off, as in the picture. Leave the security key as the page shows it.
Step 3 — App. The picture shows Production, which is the right choice for a live site. -
4 · Database
Create an empty database first. Host
127.0.0.1, port3306, the database name, user (oftenroot), and password (often blank on XAMPP). Test connection must turn green before Next step unlocks. Tables are not created yet.
Step 4 — Database. Fill the fields, then Test connection.
Connection successful unlocks Next step. The database is still empty. -
5 · Finish
Tick the confirmation, then Confirm & install. Keep the tab open. FaithCode checks the product key again, creates the tables, loads demo logins, creates the API keys, and links storage. You do not run migrate.
Step 5 — Finish. Tick the box, then Confirm & install.
Keep this tab open while FaithCode installs.
Setup complete. Use the portal owner login shown on the page, then open the business portal.
Product key (required)
CodeCanyon → Downloads → FaithCode (the base product) → License certificate, and copy the purchase code. On verifier.faithcode.tech, paste that code, enter localhost, and copy the product key. Paste the key on the License step. Your PC must be online.
Use a product key from the base purchase for both the zip without add-ons and the zip with add-ons. An add-on key will not pass this page. One purchase covers this computer and one live domain. The local key does not replace the live-domain key.
After install
- Log in with a demo account (created during Finish)
- Optional: AI product images
- Optional add-ons: see Optional add-ons below (full guide: Add-ons)
Demo accounts (default seed data)
Setup runs migrations and loads default seed accounts automatically. Sign in with email + password. Full copy also on the buyer web-install page.
| Where | Role | Username | Password | |
|---|---|---|---|---|
/login |
Owner | business_owner |
business@faithcode.tech |
BusinessTech |
/login |
Staff | business_staff |
businessStaff@faithcode.tech |
BusinessStaff |
/login |
Cashier | business_cashier |
businessCashier@faithcode.tech |
businessCashier |
/super-admin/login |
Super Admin | — | admin@faithcode.tech |
AdminTech |
Add-ons on localhost
Finish Setup with the base product key first.
- Base with add-ons — Super Admin and Mobile are already inside. Do not upload them on
/addons. - Base without add-ons — log in, open System Settings → Add-ons Import Zip (or
/addons), and upload each add-on zip with a product key for that add-on. Make the key on the license desk from that add-on’s purchase code, and enter localhost there too. The base key will not unlock an add-on.
Full steps: Add-ons (Local + cPanel).
Ready for the phone / tablet app?
After the website works in the browser:
Same Wi‑Fi
Phone/tablet and PC on the same Wi‑Fi network.
-
Serve on all interfaces
php artisan serve --host=0.0.0.0 --port=8000 -
In the app
Follow Mobile app — API URL like
http://YOUR_PC_LAN_IP:8000/apion a real device (not emulator / not phone browser).
Scheduled tasks
Not part of Setup. On a live cPanel site, add the cron job in the cPanel guide after the wizard finishes.
Optional AI product images
This is a Super Admin setting. There is no BFL line in .env. The key is saved encrypted in the database from this page only.
Super Admin must already be installed. Sign in at /super-admin/login, then open Settings → Product Image AI.
Turn it on
Switch on Enable Product Image AI. Leave the provider on Black Forest Labs (FLUX).
Paste your key
Copy the key from the BFL dashboard. It starts with
bfl_. Paste it in API key. Leave API base URL ashttps://api.bfl.ai/v1unless BFL gave you a different address. Pick the FLUX model. FLUX.2 [klein] 4B is the usual choice.Local SSL
On a Windows PC, if Test connection fails because the certificate store is incomplete, turn Verify SSL certificates off. Leave it on when you move the site to a live server.
Save, then test
Click Save Product Image AI. Then click Test connection. The test uses the saved key, so save first. A blank key box on a later visit is normal: the stored key stays until you tick Clear stored API key.
Troubleshooting (localhost)
| Problem | Fix |
|---|---|
| Database connection failed | MySQL running? Exact database name? Try host 127.0.0.1. A blank XAMPP password means leave the password field empty on the Database step. |
| Blank page / 500 | Check storage/logs. Make sure storage is writable, then open /setup again. |
| CSS/JS missing or odd redirects | APP_URL must match the browser address exactly, including the port. Save .env and refresh. |
| Product key rejected | PC online? Paste the product key (FC-…), not the purchase code. On the license desk, the website must be localhost, and the key must come from the base FaithCode purchase. |
| Asked to run migrate | Do not. Open /setup and use Finish. That step creates the tables. |