The official SvelteKit client for Hymenia, a chat and VoIP platform.
- Node.js 18 or newer
- pnpm 12
Start the dev server:
pnpm i
pnpm devBuild for production/deployment:
pnpm build
pm2 restart hymenia-client # if using pm2Copy .env.example to .env when the api lives somewhere else or the server
runs on a different port:
PUBLIC_API_URL=https://api.example.com
PUBLIC_WS_URL=wss://api.example.com
PUBLIC_MIN_AGE=13 # not required, but the other ones arePUBLIC_WS_URL is optional, it follows PUBLIC_API_URL when left out. PUBLIC_MIN_AGE is not required unless you live in a country where the
When
the server PORT is not 9070, set the matching port:
PUBLIC_API_PORT=9080We assume the backend you are using has Altcha configured correctly.
pnpm dev # Start the development server
pnpm sync # Regenerate SvelteKit types and route data
pnpm build # Create a production build
pnpm preview # Preview the production build locallyThe desktop app uses Tauri 2. Follow the Tauri prerequisites, and any other instruction on the site.
pnpm tauri:dev # Start the desktop app with the Vite dev server
pnpm tauri:build # Build desktop installers for the current platformThe desktop client connects to http://localhost:9070 by default. For a remote
server, set PUBLIC_API_URL and optionally PUBLIC_WS_URL in the client .env
before building. Those public URLs are included in the desktop app at build time.
Tauri can package this client for Android. Initialize the Android project from the client folder:
pnpm tauri:android:initSee the Tauri prerequisites for the full setup.
Run or build for an Android device or emulator:
pnpm tauri:android:dev
pnpm tauri:android:buildI don't plan on adding iOS support as I don't have access to a Mac. I need one in order to build an iOS app.
Set PUBLIC_API_URL in .env to an API address the phone can reach before
running or building the mobile app. For a phone on the same network during
development, use the computer's LAN address with HTTPS, for example
https://192.168.1.20:9070. Android blocks plain HTTP by default. Set
PUBLIC_WS_URL too if the WebSocket uses a different host. These values are
baked into the app at build time; localhost on a phone points to the phone
itself.
Android emulators can use the default slocalhost setup; physical Android devices need an API URL reachable on the local network.
Hymenia Client is free and open source software released under the MIT License.
