- PropEngine โ Real Estate Platform
- ๐ Overview
- โญ Key Features
- ๐ System Requirements
- ๐ ๏ธ Installation Wizard
- ๐ข Shared Hosting Notes
- ๐ Admin Login
- ๐๏ธ Panel Overview
- ๐๏ธ Property Management
- ๐ฅ CRM & Users
- ๐ Content Management
- ๐ Localization
- ๐ SEO & Marketing
- ๐ค AI Tools
- โ๏ธ General Settings
- ๐ Homepage Settings
- ๐ Tracking & Custom Code
- ๐ช Cookie Settings
- ๐งฎ Mortgage Calculator
- ๐ Social Links
- ๐ Webhooks
- โฐ Scheduled Tasks (Cron)
- ๐ฉบ System Health
- ๐ License & Updates
- ๐งฉ Plugin Manager
- ๐ Automatic Updates
- ๐ Multilingual System
- โ FAQ & Troubleshooting
- The installer says "Database is not empty"
- I'm getting a 500 / white screen
- The admin panel styles look broken
- The slider isn't showing on the homepage
- Contact/inquiry emails aren't arriving
- Switching language jumps to the homepage
- The update button isn't showing / won't download
- Webhooks / emails are delayed
- I want to change the admin panel URL
- ๐ฌ Support & License
PropEngine โ Real Estate Platform #
The complete guide โ installation, admin panel, automatic updates, multilingual system and SEO.
๐ Overview #
PropEngine is a production-ready real estate management platform built for agencies, brokers, property portals, and single-company real estate websites.
It ships with property management, agent profiles, CMS pages, a blog, customer inquiries, advanced SEO tooling, multilingual support (6 languages, including RTL), a webhook system, licensing, automatic updates, and a plugin architecture. It is designed for non-technical buyers: upload one ZIP, run a 4-step browser installer, then manage everything from the admin panel.
Technology Stack #
Modern PHP framework โ robust routing, ORM, queues and security.
The entire admin panel โ fast, accessible and responsive.
Reactive UI components with no full page reloads.
Modern, customizable, responsive design.
Reliable, widely-supported database backend.
Turkish, English, Arabic (RTL), Russian, German, French.
โญ Key Features #
Sale/rent listing types, media galleries, features, categories and reference numbers.
Agent profiles, inquiries, contact submissions, testimonials and newsletter subscribers.
CMS pages, blog posts, categories, sliders, menus, projects, team and FAQs.
Localized URLs, hreflang, automatic language detection and RTL support.
Metadata, redirects, sitemap, structured data (schema.org), OG tags.
Content generation, translation and SEO via OpenAI / Anthropic / DeepL / DeepSeek / ZAI.
HMAC-signed webhooks, retry-aware queue and a REST API v1.
One-click version upgrades from the License & Updates page.
๐ System Requirements #
The first step of the installer checks these requirements automatically. The tables below show the full list.
Server #
| Component | Minimum | Notes |
|---|---|---|
| PHP | 8.3 or newer | Enforced by the installer. |
| Database | MySQL 5.7+ / MariaDB 10.4+ | utf8mb4 character set. |
| Web Server | Apache / Nginx | mod_rewrite must be enabled on Apache. |
| Empty Database | โ | The installer requires a clean, empty target database. |
Required PHP Extensions #
pdopdo_mysqlmbstringopensslctypetokenizerxmljsoncurlfileinfogd
Recommended (optional) extensions #
zip imagick bcmath redis gmp
zip matters: Automatic update packages are extracted with ext-zip (ZipArchive). It is installed by default on most hosts.
Writable Paths #
| Path | Purpose |
|---|---|
| .env | Written during installation (created if missing). |
| storage/ | Logs, cache, uploaded files, update packages. |
| bootstrap/cache/ | Configuration cache. |
| public/{css,js,fonts,vendor} | Admin panel static assets (published during install). |
๐ ๏ธ Installation Wizard #
PropEngine ships with a 4-step, browser-based installer. No terminal/SSH required. The entire flow is in English and needs no compiled assets.
Flow: Upload the ZIP to your server โ open your domain โ if not installed, the site auto-redirects to /install โ complete the 4 steps โ the wizard locks itself.
-
Step 1 โ Requirements
PHP version, required extensions and folder write permissions are verified automatically. Each item shows a green โ (pass) or red โ (fail). “Next” stays disabled while any required item fails. After fixing permissions, click Re-check.
-
Step 2 โ Database
Enter your MySQL connection details:
- Host โ usually
127.0.0.1or the value your host provides (try this instead oflocalhost). - Port โ usually
3306. - Database / Username / Password โ a clean, empty database you created in your host panel (cPanel/Plesk).
The installer probes the connection with a throwaway connection; on failure it shows the error and does not proceed. If the database is not empty (contains tables), it warns you โ this prevents collisions with other apps sharing one database on shared hosting. On success, all database tables are created (migrate).
Credentials are held safely (encrypted with APP_KEY, locked to
0600) and deleted when installation finishes..envis written only once, at the very end, after every step succeeds. - Host โ usually
-
Step 3 โ Site & Admin
Define your site basics and your admin account:
- Site name โ browser tab, header, footer and emails.
- Site URL โ auto-detected; HTTPS is enforced when applicable.
- Deployment mode โ auto-detected from the server layout (is public/ the document root, or public_html?). Asset/storage URLs are set accordingly.
- Admin name / email / password โ your super-admin account. min. 8 characters.
- Load demo data optional โ when checked, sample properties, agents, blog posts, sliders and all 6 languages are loaded. Usually left unchecked for production.
This step seeds roles, taxonomy (property types/categories), menus, empty CMS pages and legal pages (Privacy, Terms, KVKK). Then
.envis written, static assets are published, and the install is locked.Security: The wizard creates your admin account and removes the known demo accounts (e.g.
[email protected]) โ no known-password account is left behind. -
Step 4 โ Finish
Installation complete. Click “Go to Admin Panel” to reach /admin and sign in with the email/password you set. From here on, /install is locked and the whole site runs normally.
๐ Admin Login #
Access the admin panel with the account you created during installation.
The admin panel URL:
https://your-domain.com/admin
The panel URL can be changed in .env for security: edit PROPLEDGE_ADMIN_PREFIX (e.g. manager).
- Sign in with the email + password you entered during installation.
- Password reset and email verification flows are supported.
- Manage your profile (name, email, password, language) from the user menu (top right).
The panel language is picked from your browser/account on first login. You can change your display language from the user menu at any time โ this affects only your view of the panel, not the site’s languages.
๐๏ธ Panel Overview #
The left sidebar organizes the panel into logical groups. Groups are collapsible.
Dashboard #
On login you land on an overview:
Total, active, draft and sold/rented property counts.
Latest customer inquiries at a glance.
The newest listings.
Profile and session info.
Menu Groups #
| Group | Contents |
|---|---|
| Property Management | Properties, Property Types, Property Categories, Listing Types, Features |
| CRM & Users | Agents, Inquiries, Contact Submissions, Newsletter Subscribers, Testimonials |
| Content Management | Pages, Posts, Post Categories, Projects, Sliders, Menus, Team Members, FAQs |
| Localization | Languages, Countries, States, Cities |
| SEO & Marketing | SEO Settings, Redirects |
| AI Tools | AI Settings |
| System & Settings | General Settings, Homepage, Tracking, Cookies, Mortgage Calculator, Social Links, Webhooks, Scheduled Tasks, System Health, License & Updates, Plugin Manager |
All list screens support top search, filters, sorting and bulk actions. Records can be sorted by clicking column headers.
๐๏ธ Property Management #
The heart of the platform. Properties are created through a 7-step wizard.
Creating a Property โ 7 Steps #
-
Basic Info
Property type, category, listing type (sale/rent), reference number (auto), status and “featured”/”new development” toggles.
-
Location
Country โ State โ City โ District โ Neighborhood hierarchy, map coordinates (lat/lng) and address.
-
Price & Details
Price, currency (TRY/USD/EUR/GBP), area (mยฒ), rooms, bathrooms, floor and similar technical details.
-
Features
Toggle the features tied to property types (elevator, parking, balcony, etc.).
-
Media
Image gallery (auto conversions: thumb / card / detail / OG image โ WebP).
-
Translations
Enter title, description and SEO text per language. Leaving a language empty means the property won’t appear in that language.
-
Publish
Set status (draft/pending/active/passive/sold/rented) and save.
Property statuses: draft pending active passive sold rented. Only active properties appear on the site.
Speed it up with AI: In the Translations step, the AI assistant (when configured) can generate titles/descriptions or translate existing content into the other languages.
Property Types & Categories #
Categories belong to a property type (e.g. under “Residential”: “Apartment”, “Villa”). When creating a property you first pick the type, then a category bound to that type. Each must have a name in every active language.
Listing Types #
Defines transactions such as For Sale, For Rent, Daily Rent. Drives filtering and price display.
Features #
Icon-based amenities attachable to properties (elevator, parking, pool, heating, etc.). Icon, ordering and language labels are managed here.
๐ฅ CRM & Users #
Customer relationships โ from agents to inquiries, subscribers and testimonials.
Agents #
Sales agents with public profiles. Add a profile photo, contact details, a short bio (multilingual) and social links. Properties are assigned to agents; each agent’s profile and listings appear on /agents.
Inquiries #
Requests submitted from the inquiry form on a property detail page. Each inquiry shows the property, the agent and the customer. Status (new/contacted/closed) is tracked.
Contact Submissions #
Messages from the general /contact page. Customer name, email, phone and message body are stored.
Newsletter Subscribers #
Email addresses added via the footer subscription form. Suitable for CSV export.
Testimonials #
Customer reviews โ name, title, photo and review text (multilingual). Usually shown on the homepage or about page.
๐ Content Management #
The site’s static and dynamic content โ pages, blog, projects, sliders, menus, team and FAQs.
Pages #
CMS pages like About, Privacy Policy. Each has its own slug, title, body (rich-text editor) and SEO settings โ per language. Missing content shows a localized “not published yet” placeholder.
Posts (Blog) #
Blog articles. Category, tags, cover image, excerpt, full body, author and publish date. Listed on /blog. SEO and social tags are supported.
Post Categories #
Categories to group posts; multilingual names.
Projects #
A dedicated content type for construction/housing projects. Project images, details, location and linked properties. Listed under /projects, each with its own detail page and SEO data.
Sliders #
The large homepage slider. For each slide: desktop and mobile images, title, subtitle, button text and link; reorder as needed. Only active, ordered slides show on the homepage.
Added a slider but it’s not showing? Make sure the “Sliders” section is enabled in Homepage Settings, then hard-refresh the browser (Ctrl+Shift+R).
Menus #
Site navigation menus (header, footer, etc.). Drag to reorder, add internal/external links or links to pages/properties/projects. Hierarchical (sub-menus) supported.
Team Members #
Your company team โ name, title, photo and short info (multilingual). Usually shown on the about page.
FAQs #
Frequently asked questions โ question + answer pairs (multilingual). Groupable and orderable.
๐ Localization #
PropEngine ships in 6 languages and every piece of content is translated individually. The system generates localized URLs and hreflang tags.
Languages #
Default languages:
| Code | Language | Direction |
|---|---|---|
tr |
๐น๐ท Tรผrkรงe | LTR |
en |
๐ฌ๐ง English | LTR |
ar |
๐ธ๐ฆ ุงูุนุฑุจูุฉ | RTL |
ru |
๐ท๐บ ะ ัััะบะธะน | LTR |
de |
๐ฉ๐ช Deutsch | LTR |
fr |
๐ซ๐ท Franรงais | LTR |
From the Languages table you can toggle a language active/inactive or choose your default language. An inactive language disappears from the language switcher and hreflang tags.
Locations: Country โ State โ City #
Manage property locations hierarchically. Each location has a name and slug per language. Localized URLs (/tr/istanbul, /en/istanbul, /ar/…) are generated automatically.
Entering Multilingual Content #
Properties, pages, blog posts, projects and locations provide a separate tab per language. When a translation is missing for a given language:
- The language switcher safely falls back to the default language (or homepage) for that item.
- Visiting that language’s URL directly resolves to the best available language.
Best practice: enter at least a title + description in every active language for each published item. The AI assistant speeds this up.
๐ SEO & Marketing #
PropEngine provides comprehensive controls for technical SEO.
SEO Settings #
A tabbed layout:
- General SEO โ Site title, default meta description, keywords, title template and separator, default OG image and favicon.
- Social Media & OG โ Open Graph settings, Twitter @username, Facebook App ID, social links.
- Analytics & Verification โ Google Analytics (GA4), Google Tag Manager, search-engine verification codes.
The sitemap is generated automatically (/sitemap.xml), robots.txt is managed, and structured data (schema.org) + hreflang tags are injected per page automatically.
Redirects #
Redirect old URLs to new ones with 301/302. Use it when migrating from an old site or restructuring content to preserve SEO value. Manage source/target URL, redirect code and active state.
๐ค AI Tools #
The AI assistant supports multiple providers for content generation, translation and SEO.
AI Settings #
Tabbed layout:
- General โ Enable/disable AI features, choose the default provider.
- OpenAI โ API Key, model, max tokens, temperature.
- Anthropic โ API Key, model, max tokens.
- DeepL โ translation only (no text generation). When set, translations are automatically routed to DeepL.
- DeepSeek โ API Key, model settings.
- ZAI โ API Key, model settings.
- Cost โ Usage tracking and cost indicators.
API keys are stored encrypted. Third-party accounts, API keys, billing and rate limits are the buyer’s responsibility; the product does not include paid API credits.
โ๏ธ General Settings #
Manage the site’s core information here. Tabbed layout.
General (Site Information) #
- Site name & tagline โ header, footer, emails and browser tab.
- Logo & Favicon โ a horizontal, transparent PNG/SVG is recommended. Falls back to text + icon when empty.
Contact #
- Phone, email, WhatsApp number (with country code, no spaces).
- Address, working hours, Google Maps embed URL.
Maps #
- Provider โ Leaflet/OpenStreetMap (free) or Google Maps API.
- Default zoom, Google Maps API key (required only when Google is selected).
- Latitude/longitude for the contact page map.
Social Media #
Facebook, Instagram, Twitter/X, YouTube, LinkedIn, Telegram, TikTok links (shown in footer and contact page).
Mail / SMTP #
For email delivery (contact form notifications and inquiries):
- SMTP enabled/disabled, host, port, encryption (TLS/SSL/None), username, password, timeout.
- From email/name, contact form recipient.
- Send test โ verify your SMTP settings by sending a test email (this tab only).
When SMTP is disabled, the system uses the server’s MAIL_* environment values. An external SMTP (e.g. Mailgun, SendGrid, Gmail SMTP) is recommended for reliability on shared hosting.
๐ Homepage Settings #
Reorder homepage sections, toggle their visibility and edit their text (multilingual).
Section Visibility & Order #
Drag-and-drop to reorder; toggle each on/off:
- Hero (search form) ยท Sliders ยท Stats ยท Featured (featured properties) ยท CTA (call to action)
Hero & CTA Text #
Hero title, CTA title/subtitle and button text are entered per language. Leaving a language blank falls back to the default translation-file text.
Featured Properties #
Choose how many featured property cards to show on the homepage (3/6/9/12).
For a property to appear as featured, enable the “Featured” toggle when editing it. The homepage shows the chosen number from those that are both featured and active.
๐ Tracking & Custom Code #
Code injection for analytics, chat widgets and conversion scripts.
- Facebook Pixel โ only the numeric Pixel ID is required; the base code is added automatically.
- Custom
<head>scripts โ raw code into every page head (analytics, meta tags). - Custom
<body>scripts โ chat widgets, conversion scripts. - Custom CSS โ site-wide custom styles.
Google Analytics (gtag.js) and Google Tag Manager are managed under SEO Settings โ Analytics & Verification, not here โ and rendered automatically.
๐งฎ Mortgage Calculator #
Manage the default values for the mortgage calculator on property detail pages.
Set default interest rate, term (months), down payment ratio, etc. Visitors adjust these on the property page to estimate monthly installments.
This ships as a plugin and can be enabled/disabled from the Plugin Manager.
๐ Webhooks #
Notify external systems (CRM, automation, reporting) about system events.
For each webhook define a target URL, subscribed events (new property, new inquiry, etc.) and active state. Requests are sent with an HMAC signature and queued with a retry mechanism (requires cron).
Webhooks need Scheduled Tasks (cron) to be set up to be delivered on time.
โฐ Scheduled Tasks (Cron) #
Some background jobs (image conversions, mail queue, webhooks, update checks) require a single cron entry.
This page shows you the exact command and verifies live whether cron is running. Add this line in your host panel’s Cron Jobs section:
* * * * * cd /full/project/path && /path/to/php artisan schedule:run >> /dev/null 2>&1
The exact command (project path and PHP binary path) is provided ready-to-copy on this page.
Status Indicators #
- Cron status โ whether it ran in the last minutes (heartbeat).
- Pending jobs โ number of jobs in the queue.
- Failed jobs โ jobs that errored.
Before setting up cron, you can process the queue once with the “Run Queue Once” button (e.g. to send a notification immediately).
๐ฉบ System Health #
See the status of critical system components at a glance.
Lists cache drivers, queue connection, storage, database and other critical checks as healthy/unhealthy. Start here when diagnosing an issue.
๐ License & Updates #
Activate your license and manage updates here. This page is the hub for automatic updates.
License Activation #
Activate your license with the purchase code and buyer email you received after purchase. When activated, the following is shown:
- License key (masked), buyer name/email, the domain it was activated on.
- License status (valid / expired / support renewal required).
- Installed version and the latest version on the server.
Update Check #
Every time you open the page, the system checks for updates automatically. Use “Check for Updates” to re-check at any time.
Installing an Update #
When a new version is available and your license is valid, the “Install Update” button appears:
- One click downloads the update package, applies it, runs database migrations and clears the cache.
.env,storage/(your uploads, logs) and.gitare preserved โ your site and data are safe.- The site briefly enters maintenance mode during the process.
If the download link isn’t returned, the reason is shown: “S” = support renewal required (support period expired), “L” = license must be activated”. Renew your support period per the marketplace support policy.
Manual ZIP Update #
If automatic download fails (e.g. server restrictions): upload the update ZIP to storage/app/updates and use “Install ZIP” with the filename. See Automatic Updates for details.
๐งฉ Plugin Manager #
Install, enable and disable plugins.
Plugins live in plugins/; from here you Install / Activate / Deactivate them. Version, author and description are shown for each. At the bottom, the “Available Hook Points” list shows every hook point developers can use in their plugins (described per language).
๐ Automatic Updates #
PropEngine updates can be applied from the panel โ no SSH/FTP required.
In short: Updates are checked automatically. With a valid license you can install one in a single click; the package is downloaded, files are updated, the database is synced and the cache cleared โ while your site and files are preserved.
How an Update Works #
-
Check
When the License & Updates page opens (and via “Check for Updates”), the system asks the license server for a newer version. If one exists, it’s shown along with the changelog.
-
Download
Clicking “Install Update” downloads the package securely.
-
Preflight
Package validity (e.g. presence of
artisan,composer.json) and folder write permissions are verified. On any issue the process aborts and shows the error. -
Maintenance mode
The site briefly enters maintenance mode (visitors get 503 + auto-retry).
-
Apply
Files are copied. The following are never touched:
.env,storage/(uploads, logs, queues),public/storage,bootstrap/cache,node_modules,.git. -
Database
New migrations run via
php artisan migrate --force; your existing data is preserved. -
Cleanup & reopen
The cache is cleared, config is re-cached and the site leaves maintenance mode. The installed version is updated.
When is an update not needed / needed? #
- “Your system is up to date.” โ you’re on the latest version; nothing to do.
- “A new update is available!” โ a new version exists; Install Update becomes available.
- Support renewal (S) / License (L) warning โ an update exists but the package can’t be downloaded; activate your license or renew your support period.
Manual Update (when automatic fails) #
On restrictive hosts automatic download may fail. In that case:
- Get the update ZIP (from the marketplace or support channel).
- Upload it to storage/app/updates/ on the server.
- License & Updates โ “Install ZIP” โ enter the filename โ install.
Tip: Take a full backup (files + database) before updating. Even though PropEngine preserves storage/ and .env, regular backups are always best practice.
Automatic updates require the ext-zip (ZipArchive) extension and write permission on the project directory.
๐ Multilingual System #
PropEngine’s localization is end-to-end โ from content to URLs, hreflang and RTL.
How It Works #
- Localized URLs: each language has its own prefix โ /tr/…, /en/…, /ar/….
- Slug matching: when viewing a property and switching language, the system finds the same property’s slug in the target language and keeps you on that same property (not the homepage).
- Untranslated content: if no translation exists in the target language, the switcher safely falls back to the default language / homepage; a direct URL visit resolves to the best available language.
- hreflang: automatic
<link rel="alternate" hreflang="...">tags for every language version (critical for SEO). - RTL: when Arabic is selected, the layout flips to right-to-left automatically.
Adding a New Language #
Adding a language happens in two layers: the content layer (managed from the admin panel) and the interface layer (a source file you translate once per language). Both are needed for a fully-localized site.
Step 1 โ Add the language in the admin panel (content layer) #
Go to Localization โ Languages โ New language and fill in:
- Language code โ the ISO code, lowercase, e.g.
itfor Italian. This becomes the URL prefix and the folder name. - Name / Native name โ e.g. “Italian” / “Italiano”.
- Direction โ
LTRorRTL(use RTL for Arabic, Hebrew, etc.). - Flag (emoji) โ e.g. ๐ฎ๐น.
- Active โ turn on to show it in the language switcher. Default language โ only one language can be default; the default gets prefix-less URLs (/properties), all others are prefixed (/it/properties).
- Route prefixes โ the URL segment for each route in this language (usually just leave the defaults; you only edit these if you want localized URL words like
/it/immobiliinstead of/it/properties).
On save, the system registers the language, adds it to the switcher, generates localized URLs and hreflang tags, and provisions content translations: it copies every default-locale entity (properties, posts, pages, projects, cities, districts, property types, categories, features, FAQsโฆ) into the new language as a starting point. You then translate each entity’s text from the relevant admin resource (e.g. edit a property โ Translations step โ Italian tab).
This step does not create a resources/lang/{code}/ folder. The admin panel manages content stored in the database; the interface strings (buttons, labels, messages in propengine.php) live in a source file that is not generated automatically. Until you create it (Step 2), the new language’s interface silently falls back to English โ the site keeps working, only the chrome/buttons show in English while your content shows in the new language. This is expected, not an error.
Step 2 โ Create & translate the interface file (one time per language) #
On the server (via FTP/file manager or SSH), copy the English language folder and rename it to your new code:
# from the project root
cp -r resources/lang/en resources/lang/it
Then open resources/lang/it/propengine.php and translate only the values (the text after =>). Leave the keys, quotes, commas, arrays and placeholders such as :count, :name, :location exactly as they are.
Shortcut โ translate it with AI. Instead of translating ~380 lines by hand, copy the whole resources/lang/en/propengine.php file and paste the prompt below into ChatGPT, Claude, Gemini or any LLM. Replace {LANGUAGE} (e.g. Italian) and {CODE} (e.g. it):
You are a professional native-speaker translator for a real-estate website.
I will give you a Laravel translation file (resources/lang/en/propengine.php).
Translate EVERY string VALUE (the right-hand side after =>) into {LANGUAGE}.
STRICT RULES โ do not break the file:
- Keep every key (left-hand side) byte-for-byte identical.
- Keep all PHP structure: the opening <?php, return [, =>, commas, quotes, nested arrays.
- Keep ALL placeholders exactly as-is: :count :name :location :link :attribute, etc.
- Keep any HTML tags (e.g. <strong>), and any & entities, unchanged.
- Do NOT translate keys, file paths, route names, config references, or code.
- Use natural, professional, native-speaker phrasing for a real-estate portal
(property listings, agents, search, contact, SEO).
- If a value is already fine as a brand/technical term, keep it.
OUTPUT: only the full translated PHP file, ready to save as
resources/lang/{CODE}/propengine.php. No commentary, no markdown fences.
--- FILE START ---
(paste the entire contents of resources/lang/en/propengine.php here)
--- FILE END ---
Save the AI’s output as resources/lang/{CODE}/propengine.php, replacing the copied file. A native review pass is recommended before going live.
Step 3 โ Clear cache & verify #
- Clear the cached translations: run
php artisan optimize:clear(orphp artisan cache:clear) on the server. On shared hosting without SSH, the Scheduled Tasks page or a cache clear button has the same effect. - Open the site, switch to the new language, and confirm the interface and content are translated.
- For RTL languages, the layout flips automatically โ no extra markup needed.
Update note: resources/lang/ files are part of your source code. They are preserved by automatic updates (the updater never overwrites them), but if you re-upload the full package manually, keep your translated folders. New interface strings added in a future version will arrive in the English file; merge/translate the new keys into your language file after updating.
Best Practices #
- Enter at least a title + description in every active language for each published item.
- Provide location (city/district) names in every language โ localized URLs depend on them.
- Use the AI assistant (DeepL or an LLM) to batch-translate and speed up the process.
โ FAQ & Troubleshooting #
The installer says “Database is not empty” #
The chosen database already has tables. Create a new, empty database in your host panel, or empty the existing one. Don’t share one database with another application.
I’m getting a 500 / white screen #
- Make sure storage/ and bootstrap/cache/ are writable.
- Make sure PHP is 8.3+.
- Make sure the required extensions are installed (installer Step 1).
- Check storage/logs/laravel.log for error details.
The admin panel styles look broken #
Static assets are published automatically during install. If they’re missing, clear the browser cache / hard-refresh (Ctrl+Shift+R). If still broken, check write permissions on public/{css,js,vendor}.
The slider isn’t showing on the homepage #
Make sure the “Sliders” section is enabled in Homepage Settings and there’s at least one active slide, then hard-refresh.
Contact/inquiry emails aren’t arriving #
Configure SMTP under General Settings โ Mail/SMTP and verify with Send test. The contact form recipient must be set correctly.
Switching language jumps to the homepage #
That item (property/page/project) has no translation in the target language. This is expected โ add the translation and you’ll stay on the same item.
The update button isn’t showing / won’t download #
Make sure your license is activated and valid. If there’s an “S” (support renewal) or “L” (license) warning, resolve that. Confirm your server can reach the update server.
Webhooks / emails are delayed #
Make sure the cron entry is set up (heartbeat on the Scheduled Tasks page). Without cron, jobs sit in the queue; use “Run Queue Once” to process them manually.
I want to change the admin panel URL #
Change PROPLEDGE_ADMIN_PREFIX in .env (e.g. manager), then clear the cache.
๐ฌ Support & License #
PropEngine is proprietary commercial software.
- Usage, redistribution, support and customization terms are described in the marketplace license you purchased and the product’s
TERMS.md. - Technical support is provided under the marketplace support policy (typically a period of free support + update access from purchase).
- Third-party services (AI providers, map APIs, email delivery, license/update infrastructure) โ accounts, API keys and billing are the buyer’s responsibility; the product does not include paid API credits.
- Take regular backups โ always before major changes and updates.
Before opening a support request, check the FAQ & Troubleshooting section and the System Health page โ most common issues are resolved there.
PropEngine ยท Version 1.0.7 ยท Laravel 13 + Filament v5 + Livewire 4 + Tailwind CSS 4
This documentation works offline; it has no external dependencies.