This is a tauri template for building desktop and web applications with Tauri v2.
This template using :
- Tauri-App
- Vue3
- Typescript
- Rust
- Actix-web
- Biscuit-auth
- Read the Tauri setup guide
- Latest version of Node
- Lasest version of Rust
- PostgreSQL database
-
Clone this project
-
Go to /frontend folder and install the requirement dependencies in the frontend part (tauri-app)
pnpm install
-
Go to /api folder and create the run.sh file a the root of /api folder. Copy and configure the file with your config.
#!/usr/bin/env bash export BISCUIT_PRIVATE_KEY="" // When you try to start the api, if this field is empty the api will return you an correct and random private key. export DATABASE_URL="postgres://username:password@host:port/database" // Only support postgres export EMAIL_SENDER_ADDRESS="[email protected]" export SMTP_CONNECTION_URL="smtp://localhost:1025" export APP_URL="http://localhost:8080/" export API_URL="http://localhost:8080/" cargo run -- "$@"
-
Init the .env at the root of the /api folder. Copy and configure the file with your config.
DATABASE_URL="postgres://username:password@host:port/database"
-
Run the migration to init the database
sqlx migrate run
-
Install the requirement dependencies in backend api (Rust api using actix-web) and start the api
./run.sh
-
Run in developpement mode the frontend
pnpm run tauri dev
- Login
- Register
- Logout
- Refresh biscuit token (automatically made in frontend before token is expired)
- Email verification (send email with smtp configuration. After registration, the user need to verify he’s email. Not configurable for now)
- Resend email verification
- Reset password (send email and give a link with token to authentificated the user and give the possibility to reset he’s password if he lost it)
- Change password (if user is logged in)
- Send a profile (stored in static frontend application (/public)
- Change he’s first and last name
- Delete the user account
All this features work (frontend - backend)
This project is licensed under the MIT License - see License for more information.
Copyright (c) 2024 Thomas Tartrau.