tauri-fastapi-full-stack-template GitHub Details, Stars and Alternatives | OpenRepoFinder
fudanglp / repository
tauri-fastapi-full-stack-template
A production-ready template for building cross-platform desktop applications with a modern web frontend, Python FastAPI backend, and Rust integration layer.
A transparent discovery signal based on current public GitHub metadata.
Recent activity35% weight
90
Community adoption25% weight
22
Maintenance state20% weight
85
License clarity10% weight
100
Project information10% weight
75
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
README preview
Tauri + FastAPI Full Stack Template
A template for building desktop applications with Tauri (Rust), FastAPI (Python), and React (TypeScript).
This is a starter template designed to be customized for your own application. It provides a complete full-stack desktop app foundation with optional authentication.
A modern, production-ready Electron template with React, TypeScript, Vite, Tailwind CSS, and shadcn/ui. Includes secure IPC, dark mode, and example system monitoring dashboard. Perfect starter for cross-platform desktop apps.
A modern, production-ready, and meticulously configured boilerplate for creating cross-platform desktop applications with Electron, React, Vite, and Tailwind CSS. 🚀
Database: SQLite (included with Python standard library, no external server needed)
Location:
Dev: .data/app.db (project root)
Production (Linux): ~/.local/share/com.example.tauri-fastapi-full-stack-template/app.db
Production (macOS): ~/Library/Application Support/com.example.tauri-fastapi-full-stack-template/app.db
Production (Windows): %APPDATA%\com.example.tauri-fastapi-full-stack-template\app.db
Models: SQLModel with automatic TypeScript/Rust type generation via OpenAPI
flowchart LR
A[FastAPI Models<br/>SQLModel] --> B[OpenAPI Schema<br/>openapi.json]
B --> C[TypeScript Types<br/>auto-gen]
B --> D[Rust Types<br/>auto-gen]
Migrations: Alembic for schema version control
📖 See docs/data-management.md for complete documentation on data storage, migrations, and models.
Why two terminals? In development mode, the backend runs separately so you get hot-reload and easier debugging. Tauri doesn't spawn the sidecar binary in dev mode.
# Edit model in models.py
class ProductBase(SQLModel):
name: str = Field(max_length=255)
price: float = Field(gt=0)
description: str | None = Field(default=None) # New field
# Create migration
cd fastapi
uv run alembic revision --autogenerate -m "add product description"
uv run alembic upgrade head
# Regenerate API clients
make generate-client
# Run Tauri dev (requires backend running separately)
make dev
Build Rust backend:
# Build only the Rust part
cd tauri
cargo build
Communication with FastAPI: See docs/IPC.md for Unix socket communication patterns.
Make Targets
make setup # Install all dependencies
make dev # Run development mode (requires backend running)
make dev-frontend # Frontend only (if backend is already running)
make fastapi # Backend only (for debugging)
make init-db # Initialize/reset database
make generate-client # Generate API clients from OpenAPI schema
make package-backend # Package FastAPI backend binary
make package # Package production bundles
make clean # Clean all build artifacts
make help # Show all targets
Customization
This is a template - customize these project-specific settings for your application: