version 1.0
This script is licensed for lifetime use, with support and updates for a limited period from purchase date.
CollabX is a browser-based and Android-ready collaboration messenger. It runs on your own PHP/MySQL hosting and exposes all chat actions through a versioned JSON API at /api/v1.
At a product level, CollabX is not only a simple chat window. It combines identity, friendships, direct conversations, group conversations, file sharing, notifications, moderation rules, and admin oversight into one self-hosted system. The web client is rendered from index.php, the backend business logic is under src/, and the API handlers live under api/v1/handlers/.
CollabX also includes an Android module under android/. That matters because the project was intentionally designed so the web interface and the Android app share the same backend contract instead of maintaining two unrelated systems.
Self-hosted Friend-gated direct chat Group chat Admin panel Push notifications Android-ready API
The need for CollabX is similar to the logic explained on the PHPix page: sometimes a generic public platform is not enough. A team or organization may want chat, file exchange, and collaboration, but still need full control over where the data lives, who can join, what files can be shared, and how moderation works.
CollabX is useful when chat is part of a wider product or internal workflow and you need control over access, policy, storage, and future integrations.
Based on the README, API handlers, schema, and Android spec, the user-facing product currently supports the following capabilities.
The schema and admin tooling show that groups can carry moderation rules such as join_approval_required, announce_only, slow_mode_seconds, and permission levels for media, links, code, invites, pinning, and editing group info.
The PHPix page explains value through simple scenes. CollabX benefits from the same approach.
A company wants a private chat platform for employees. Direct chat should be possible, but group membership should be controlled by admins. Announce-only groups can be used for HR notices, and slow mode can reduce spam in high-volume rooms.
An education or alumni community wants public discoverability only up to user search, while real chat access depends on friendships or group approval. Join requests help moderators decide who can enter a group.
A design or development team shares screenshots, PDFs, code snippets, polls, and pinned messages. CollabX keeps these in a structured conversation model instead of scattering them across email and multiple apps.
A product owner wants the browser version ready immediately but also wants an Android client later. Because CollabX is API-first, both clients can use the same auth model and messaging endpoints.
| Web entrypoint | index.php |
|---|---|
| API entrypoint | api/v1/index.php |
| Admin area | admin/ |
| Core backend classes | src/Auth.php, src/Database.php, src/Storage.php, src/Mailer.php, src/PushService.php |
| Database bootstrap | database/schema.sql |
| Web frontend bundle | assets/js/app.bundle.js built from source fragments in assets/js/ |
| Android module | android/ |
| Storage paths | storage/uploads, storage/avatars, storage/captcha_cache, storage/captcha_limits, storage/push |
/api/v1.storage/.This section condenses the existing README into a clearer deployment guide.
utf8mb4 supportmod_rewritevendor/
1. Put the project in htdocs/COLLABX
2. Import database/schema.sql into MySQL
3. Verify config/database.php for local DB access
4. Verify config/app.php base_url behavior
5. Make storage folders writable
6. Start Apache and MySQL
7. Open http://localhost/COLLABX
| Web app | http://localhost/COLLABX or https://localhost/COLLABX |
|---|---|
| Admin login | http://localhost/COLLABX/admin/login.php |
| API root | /api/v1 |
COLLABX_SMTP_HOST
COLLABX_SMTP_PORT
COLLABX_SMTP_ENCRYPTION
COLLABX_SMTP_USERNAME
COLLABX_SMTP_PASSWORD
COLLABX_SMTP_FROM_EMAIL
COLLABX_SMTP_FROM_NAME
COLLABX_DEV_EXPOSE_RESET_TOKEN
COLLABX_DEVELOPER_MODE
COLLABX_CAPTCHA_SECRET
COLLABX_ANDROID_AUTH_BYPASS_KEY
COLLABX_PUSH_ENABLED
COLLABX_PUSH_PUBLIC_KEY
COLLABX_PUSH_PRIVATE_KEY
COLLABX_PUSH_SUBJECT
COLLABX_UPLOAD_SCAN_ENABLED
COLLABX_UPLOAD_SCAN_COMMAND
COLLABX_UPLOAD_SCAN_BLOCK
Before any public deployment, move all real secrets to environment variables and review committed configuration files carefully. Do not treat local defaults as production-safe.
storage/
storage/uploads/
storage/avatars/
storage/captcha_cache/
storage/captcha_limits/
storage/push/
| Path | Purpose |
|---|---|
index.php |
Main web shell and chat UI bootstrap. |
api/v1/ |
Versioned JSON API. Routes are delegated to auth, users, conversations, sync, uploads, and links handlers. |
admin/ |
Bootstrap-based admin area with dashboard, users, conversations, smiley management, and secure file download. |
src/ |
Shared PHP services: database, auth, response helpers, mail, push, storage, and utility bootstrap. |
assets/js/ |
Source fragments for the generated frontend bundle. |
assets/css/, assets/svg/, assets/vendor/ |
Frontend styling, icons, backgrounds, avatars, emoji/smiley packs, and vendor libraries. |
database/schema.sql |
Core schema including users, chats, messages, attachments, reactions, stars, polls, notifications, push subscriptions, and moderation tables. |
docs/ |
Existing internal specifications for web scope, Android, and test accounts. |
android/ |
Native Android app module using Retrofit, OkHttp, Kotlin serialization, and DataStore. |
Do not edit assets/js/app.bundle.js directly. Edit the source fragments and rebuild.
node scripts/build-app-bundle.js
The API is the contract that keeps the web and Android clients aligned. The main dispatcher is api/v1/index.php.
| Family | Examples |
|---|---|
| Auth | POST /auth/register, POST /auth/login, POST /auth/logout, GET /auth/me, POST /auth/forgot-password, POST /auth/reset-password |
| Users and contacts | GET /users/search, PATCH /users/me, POST /users/me/avatar, GET /friends, GET /friend-requests |
| Conversations | GET /conversations, POST /conversations, POST /conversations/group, GET /conversations/{id}/messages, POST /conversations/{id}/typing |
| Sync | GET /sync/updates for polling-based updates. |
| Uploads and files | POST /uploads, GET /files/{file_token} |
| Link previews | Resolved in handlers/links.php with SSRF-aware host checks and HTML metadata parsing. |
The admin area is under admin/ and includes its own login flow and Bootstrap-based layout.
| URL | http://localhost/COLLABX/admin/login.php |
|---|---|
| Username | admin |
| Password | Admin@12345 |
Admin tooling is not a copy of the user-facing app. It is an oversight layer for moderation, diagnostics, and platform management.
The Android module already exists and is documented in docs/android-app-spec.md. That makes CollabX more than a web-only project.
/sync/updatesbuild-artifacts/CollabX-debug.apkbuild-artifacts/CollabX-release-unsigned.apkbuild-artifacts/CollabX-release-signed.apkIf you maintain the API carefully, the Android client can continue growing without forcing a second backend design. That is one of the strongest architectural advantages of this project.
This is the CollabX equivalent of the PHPix section that asks what developers can build. There are many useful directions already implied by the codebase.
utf8mb4 everywhere for emoji-safe messaging.The current project configuration should be reviewed as a deployment artifact, not treated as a final production hardening baseline. A documentation guide should make that explicit so operators do not mistake a working local setup for a secure public rollout.
database/schema.sql.config/app.php and config/database.php match the environment.assets/js/app.bundle.js if you changed JS fragments.docs/android-dev-setup.md for toolchain state.Guide created for project path D:\XAMPP\htdocs\COLLABX. Source material used: project README, internal docs under docs/, schema and handlers in the codebase, and the PHPix public page used only as the documentation style model.