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