https://github.com/fiqryq/tarasque
A desktop mock API server for designing, testing, and debugging HTTP endpoints. Built with Tauri v2, Rust, and Svelte 5.
https://github.com/fiqryq/tarasque
api-mocking desktop-app mock-api mock-server rust svelte tauri-v2
Last synced: 18 days ago
JSON representation
A desktop mock API server for designing, testing, and debugging HTTP endpoints. Built with Tauri v2, Rust, and Svelte 5.
- Host: GitHub
- URL: https://github.com/fiqryq/tarasque
- Owner: fiqryq
- Created: 2026-03-09T08:58:02.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-11T13:56:25.000Z (3 months ago)
- Last Synced: 2026-04-27T07:28:27.279Z (about 2 months ago)
- Topics: api-mocking, desktop-app, mock-api, mock-server, rust, svelte, tauri-v2
- Language: Svelte
- Homepage:
- Size: 1.55 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tarasque

A desktop mock API server for designing, testing, and debugging HTTP endpoints. Built with Tauri v2, Rust, and Svelte 5.
## Features
- Create and manage multiple API collections
- Define endpoints with multiple response scenarios
- Dynamic response templates with variables (`{{uuid}}`, `{{request.body.field}}`, etc.)
- Scenario match rules (route by headers, query params, or body content)
- Sequence mode to cycle responses on each request
- Environment variables per collection
- Proxy forwarding for unmatched routes
- HTTPS alias with self-signed certificates
- Request logging with detail view
- OpenAPI/Swagger import
- Export to JSON or Postman format
- cURL import
- Test suite runner with assertions
- Hot-reload responses without restarting the server
- Monaco editor for response body editing
## Tech Stack
- **Frontend**: Svelte 5, Tailwind CSS, Monaco Editor
- **Backend**: Rust, Actix-web, Tokio
- **Framework**: Tauri v2
- **Package Manager**: Bun
## Prerequisites
- [Rust](https://rustup.rs/)
- [Bun](https://bun.sh/)
- [Tauri CLI prerequisites](https://v2.tauri.app/start/prerequisites/)
## Development
```bash
# Install dependencies
bun install
# Run in development mode
bun run tauri:dev
```
## Production Build
```bash
bun run tauri:build
```
## Project Structure
```
src/ # Svelte frontend
lib/
components/
editor/ # Endpoint editor, scenario editor, Monaco
server/ # Server panel, logs, stats
sidebar/ # Collection list, running APIs, logs sidebar
stores/ # Svelte stores (collections, server, logs, settings)
types.ts # TypeScript types
src-tauri/ # Rust backend
src/
server/ # Actix-web mock server (router, state, rules, templates)
commands.rs # Tauri commands
models.rs # Data models
storage.rs # File persistence
```