Start Here
Welcome to AppForge. This page is the map — read it first, then follow the three stages below in order.
What you are building: your website, running as a real Android and iOS app, configured from an admin panel on your own hosting. You will not write any code.
What you need: a domain with hosting (PHP 8.2+, MySQL), your CodeCanyon purchase code, and — for building the apps — Flutter with Android Studio (plus a Mac with Xcode if you want an iOS build; Apple requires one).
Stage 1 — Put the backend on your hosting · ~15 minutes
You do this once. No terminal, no code.
- The backend is the
backend/folder inside your download. (Future updates: sign in at pmzpw.com → My Account with your purchase code.) - Upload its contents to your hosting (public_html or a subfolder).
- Create an empty MySQL database in your hosting panel and note the name, user and password.
- Open https://your-domain.com/install and follow the six steps.
- Delete the
/installfolder when it finishes.
→ Full details, including nginx: installation.md
Stage 2 — Configure your app in the panel · ~20 minutes
Sign in at https://your-domain.com/admin. The dashboard opens with a setup checklist — work down it. Nothing here needs a rebuild later except the app name, icon, splash, identifiers and Firebase files.
→ Every page explained: admin-guide.md → Changing anything at all (name, icon, package name, colours…): customizing.md → Push notifications: firebase.md then push-notifications.md
Stage 3 — Build the apps · ~30 minutes the first time
- On the Applications page, press Download configuration package.
- Unzip it into the Flutter project (from your CodeCanyon download).
- Run one command:
dart run tool/apply_config.dart
This applies your app name, identifiers, icon, splash, permissions, deep links and Firebase files. You do not edit any source file.
- Build:
flutter build appbundle --release
→ Android, including signing: android-build.md → iOS: ios-build.md → Publishing: store-submission.md
The only file you ever edit by hand
android/key.properties — four lines that point at your signing keystore. Copy android/key.properties.example and fill it in. That is it.
If something does not work
- Admin panel → System Settings → System Check. It tests your PHP version, extensions, folder permissions, database, HTTPS, cron job and URL rewriting, and tells you how to fix whatever is red.
- troubleshooting.md — the errors people actually hit.
- faq.md — licensing, builds, stores, support.
All guides
| Guide | What it covers |
|---|---|
| installation.md | Getting the backend onto your hosting |
| admin-guide.md | Every page in the admin panel |
| flutter-setup.md | Applying your configuration to the app |
| customizing.md | Every setting: what to change, where, and whether it needs a rebuild |
| android-build.md | Signing and building for Google Play |
| ios-build.md | Signing and building for the App Store |
| firebase.md | Creating the Firebase project |
| push-notifications.md | Sending notifications |
| localization.md | Languages and translations |
| deep-links.md | Opening your links in the app |
| permissions.md | Camera, location, notifications |
| javascript-bridge.md | Calling native features from your site |
| license.md | How licensing works, domain changes |
| store-submission.md | Getting approved |
| troubleshooting.md | Fixing problems |
| faq.md | Common questions |
| third-party-licenses.md | Open-source attributions |
Support: https://pmzpw.com · Documentation online: https://pmzpw.com/docs