A real-time chat application built with Rust, Axum, Tauri, Svelte, and PostgreSQL. The backend is an Axum server, and the frontend is a Tauri desktop app with a Svelte UI.
Rust (latest stable version)
Node.js (for Tauri/Svelte)
pnpm (recommended for Tauri, npm/yarn work too)
Tauri Cli
cargo install tauri-cli --version "^2.0.0" --locked
Sqlx Cli
cargo install sqlx-cli --no-default-features --features postgres
/: Project root directory.
docker-compose.yml: Configuration for the PostgreSQL database running in Docker..env: Environment variables (e.g., DATABASE_URL for the database connection).api/: Rust backend directory.
sqlx to interact with PostgreSQL).client/: Tauri-Svelte frontend directory.
src-tauri/ within this dir).Ensure Docker Desktop is running.
Start the database:
docker compose up -d
Navigate to api dir:
cd api
Run sqlx migrations to initialize db
sqlx migrate run
Start the API:
cargo run
Navigate to client dir:
cd client
Install npm dependencies:
npm install
Run tauri app:
cargo tauri dev