Local testing environment for Spixi Mini Apps. Run the packed apps directly in your browser without needing the full Spixi client.
Local test harness for Spixi Mini Apps. This repository provides a lightweight browser-hosted environment to open and debug mini apps without the full Spixi client. It includes a small Node.js server for serving the hub and a browser-side Dev Server simulator for WebSocket/MQTT behaviour.
- Install Node.js (LTS) if you don't have it. On Windows you can use
winget:
winget install --id OpenJS.NodeJS.LTS -e --accept-package-agreements --accept-source-agreements- From the repo root:
cd C:\Users\User\Spixi-Test-Enviroment
npm install
npm start- Open the main UI:
http://localhost:8000 - Dev server (to load a specific app):
http://localhost:8081/?app=<appId>(example:?app=com.baracuda.spixi.pong)
- See
TECHNICAL_GUIDE.mdfor a compact technical guide and pointers to server APIs, the packer, and CI smoke tests.
- Pack an app (creates packed output):
node pack-app.js ./apps/com.baracuda.spixi.pong ./packed
Or pack from the hub UI: Open `http://localhost:8000`, find an app card, then click the `📦 Pack` button — this calls the `POST /api/pack` endpoint and triggers a download of the resulting ZIP from the browser.- Run the server in foreground (shows logs):
npm start- View server logs (if started by helper script):
Get-Content 'C:\Users\User\Spixi-Test-Enviroment\server_temp.log' -Wait -Tail 200- The hub (
index.html) contains a Developer Tools section with controls to start the in-browser Dev Server (simulated WebSocket/MQTT) and to configure ports used by the simulator. - Use the Start button in the Developer Tools section to enable the browser-side simulator.
Apps are located under apps/ — each app follows the structure apps/<appId>/app/ with its index.html.
Example app IDs in this repo:
com.baracuda.spixi.pongcom.ixilabs.spixi.tictactoe
Open an app directly in the hub or use the dev server URL shown above.
- This environment simulates some SDK features; full functionality (multiplayer networking, native device access) requires the real Spixi client and live infrastructure.
- The Node.js server is intentionally small — feel free to modify
server.jsto add features or change routes.
If you'd like changes or improvements, open a PR or issue.
Created for local testing of Spixi Mini Apps SDK
- Mobile Browsers: Full support (touch controls work)
This project is configured to automatically deploy to your cPanel server when you push to the main branch.
To allow GitHub to access your cPanel FTP, you must add these secrets:
- Go to your repository on GitHub.
- Navigate to Settings > Secrets and variables > Actions.
- Click New repository secret and add the following:
| Secret Name | Value Example | Description |
|---|---|---|
FTP_SERVER |
ftp.yourdomain.com |
Your cPanel domain or Server IP |
FTP_USERNAME |
youruser@yourdomain.com |
Your cPanel/FTP username |
FTP_PASSWORD |
your_secure_password |
Your cPanel/FTP password |
Once the secrets are set, any new push to the main branch will trigger the deployment. You can check the progress in the Actions tab of your repository.
