Skip to content

Development Workflow

Before the first run, you need to set up the web app dependencies, database, Redis Docker containers, and create certificates:

Terminal window
# Install all workspace dependencies from the root
yarn install
# Create SSL certificates for local development
task backend:create-certs
# Start Docker containers for PostgreSQL and Redis
task backend:compose-up

After the initial setup, start the backend with the local LiveKit server: You can change the server’s configuration in the backend/env-files/.env.local file.

Terminal window
task dev-server

On your initial run, you can add mock data test users to the database, by default it adds michael@dundermifflin.com and dwight@dundermifflin.com.

Then you can start the Tauri desktop application:

Terminal window
task app:dev

You can get an authentication token with:

Terminal window
task backend:user-token EMAIL=michael@dundermifflin.com

To connect then you need to paste the generated token inside the Debug screen inside the app.

Connect app to account

For debugging purposes, you can spawn a clone of the app:

Terminal window
task app:start-replica-app

And generated a token for Dwight user with command:

Terminal window
task backend:user-token EMAIL=dwight@dundermifflin.com

Then you can make Dwight call Michael.

You can expose the backend and LiveKit server to the internet by creating a tunnel. There are multiple tools available for this; one popular option is cloudflared.

Create a config.yml file with the following configuration:

tunnel: <tunnel-id>
credentials-file: <path-to-credentials-file>
ingress:
- hostname: <hostname>
service: https://localhost:1926
- hostname: <livekit_hostname>
service: ws://localhost:7880
- service: http_status:404

This configuration will:

  • Expose the backend API (running on port 1926) via HTTPS
  • Expose the LiveKit server (running on port 7880) via WebSocket
  • Return a 404 for any other requests

Don’t forget to update the server’s configuration in env-files/.env.local when you expose the services to the internet.

Then you have to set the VITE_API_BASE_URL environment variable before running the Tauri app.