FloCafe
FloCafe is the free, local-first restaurant POS in the FloPOS ecosystem. Run orders, tables, kitchen display, and local data without a software subscription.
Find, message, and book viewings for homes, condos, and lots in the Philippines
AI summary · website content
CommerceVue · PHPGitHub @codex0315-ossOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A real-estate marketplace for the Philippines — PRC-verified agents, reviewed listings, 360° virtual tours, real-time buyer↔agent chat, and an AI assistant that answers buyers while an agent is offline.
realtylinkph-backend)realtylinkph-frontend)| Tool | Version | Notes |
|---|---|---|
| PHP | 8.2+ | with openssl pdo_pgsql pgsql mbstring fileinfo curl zip sodium |
| Composer | 2.x | |
| Node.js | 20+ | |
| PostgreSQL | 14+ | |
| Git | any |
PHP extensions matter. Check with php -m. If pdo_pgsql is missing the
app cannot reach the database at all. On Windows, uncomment the matching
extension= lines in php.ini — the standalone Windows build of PHP ships
no php.ini at all, so you may need to copy php.ini-development to
php.ini first.
PHP also needs a CA bundle on Windows, or every outbound HTTPS call fails
with cURL error 60 — that silently breaks Google sign-in, Gemini, Groq,
Geoapify and email all at once. Download https://curl.se/ca/cacert.pem and
point php.ini at it:
curl.cainfo = "C:\php\extras\ssl\cacert.pem"
openssl.cafile = "C:\php\extras\ssl\cacert.pem"
Two more php.ini values, or listing-photo uploads fail confusingly:
upload_max_filesize = 12M
post_max_size = 20M
git clone https://github.com/codex0315-oss/realtylinkph.git
cd realtylinkph
createdb realtylinkph # or: CREATE DATABASE realtylinkph; in psql
cd realtylinkph-backend
composer install
cp .env.example .env # Windows: copy .env.example .env
php artisan key:generate
Open .env and fill in at minimum:
DB_PASSWORD — your local Postgres passwordREVERB_APP_ID, REVERB_APP_KEY, REVERB_APP_SECRET — any random stringsGROQ_API_KEY / GEMINI_API_KEY — for the AI featuresGEOAPIFY_KEY — for mapsGOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET — for "Continue with Google"Everything else has a working default. For email, MAIL_MAILER=log writes
messages to storage/logs/laravel.log instead of sending them — fine for dev.
Then:
php artisan migrate --seed
php artisan storage:link # makes uploaded photos reachable at /storage/...
cd ../realtylinkph-frontend
npm install
cp .env.example .env # Windows: copy .env.example .env
⚠️ NUXT_PUBLIC_REVERB_KEY must equal the backend's REVERB_APP_KEY, and
the host/port must match too. If they differ, everything still loads but
real-time chat, typing indicators and notifications quietly stop working.
Four processes. Use four terminals (or a tool like concurrently):
# 1 — API
cd realtylinkph-backend && php artisan serve
# 2 — websockets (real-time chat + notifications)
cd realtylinkph-backend && php artisan reverb:start
# 3 — queue worker (emails, AI auto-replies)
cd realtylinkph-backend && php artisan queue:listen
# 4 — frontend
cd realtylinkph-frontend && npm run dev
Open http://localhost:3000.
queue:listen and not queue:workqueue:work loads your PHP classes once at startup and never re-reads them,
so after any backend edit it keeps running the old code — jobs then fail with
confusing "undefined method" errors. queue:listen boots a fresh process per
job, so it always runs current code. Slightly slower per job; irrelevant locally.
cd realtylinkph-backend && php artisan schedule:work
Runs two hourly jobs: the homepage ranking refresh, and deleting the documents of rejected agent applications once their re-apply cooldown lapses. The app works without it; those two just don't happen on their own.
php artisan migrate --seed creates accounts that all share the password
password123:
| Role | |
|---|---|
| Admin | [email protected] |
The seeder prints the rest when it runs.
| Symptom | Cause |
|---|---|
could not find driver | pdo_pgsql not enabled in php.ini |
cURL error 60 on Google / AI / email | No CA bundle — see Prerequisites |
| Messages only appear after a refresh | Reverb not running, or the Reverb key/host differ between the two .env files |
| Emails and AI replies never happen | No queue worker running |
| Photo upload fails with no clear error | upload_max_filesize / post_max_size too low in php.ini |
Blank page after npm run dev | Frontend .env missing — copy it from .env.example |
By design, none of these are committed:
.env files — they hold the DB password, Google OAuth secret, SMTP
password and the AI/map API keys. Use .env.example as your template.*.sql) — they contain real user emails and password hashes.storage/app/public/ — uploaded listing photos and, more importantly,
agents' government IDs, licence cards and live face scans. A fresh clone
starts with empty upload folders, which is correct.