Skip to content

applications

Douwe de Vries edited this page Jul 1, 2026 · 2 revisions

Applications

Active contributors: Douwe de Vries

CSV Align ships as two local application runtimes over the same shared Rust backend. The local web app starts an Axum server on 127.0.0.1:3001, serves the built React frontend from /Users/vriesd/projects/csv-align/frontend/dist, and lets browser mode call HTTP routes under /api/*. The desktop app uses Tauri 2 to host the same frontend in a native WebView and routes operations through registered Tauri commands.

Both runtimes create in-memory comparison sessions, load two local CSV files, suggest mappings, run comparisons, and support CSV, HTML, pair-order, and comparison snapshot flows. The frontend switch in /Users/vriesd/projects/csv-align/frontend/src/services/tauri.ts keeps browser and desktop behavior aligned by choosing either HTTP calls or invoke(...) calls at runtime.

Runtime summary

Runtime Entry point Transport Primary details
Local web app /Users/vriesd/projects/csv-align/src/main.rs HTTP /api/* Builds an Axum router, binds to 127.0.0.1:3001, and falls back to static frontend files.
Desktop app /Users/vriesd/projects/csv-align/src-tauri/src/main.rs Tauri commands Registers command handlers, manages the shared SessionStore, and enables native file dialogs.

Related pages

Key source files

File Purpose
/Users/vriesd/projects/csv-align/src/main.rs Local web app process entry point and Axum server startup.
/Users/vriesd/projects/csv-align/src/api/app.rs HTTP route constants, route registration, body limits, and static frontend serving.
/Users/vriesd/projects/csv-align/src/api/handlers.rs HTTP handler implementations for sessions, file load, comparison, exports, pair-order files, and snapshots.
/Users/vriesd/projects/csv-align/src-tauri/src/main.rs Tauri app entry point, command registration, dialog plugin setup, and desktop store management.
/Users/vriesd/projects/csv-align/src-tauri/src/commands.rs Tauri command implementations and native dialog helpers.
/Users/vriesd/projects/csv-align/frontend/src/App.tsx Main React application shell.
/Users/vriesd/projects/csv-align/frontend/src/services/tauri.ts Runtime transport switch for browser and desktop modes.

Clone this wiki locally