-
Notifications
You must be signed in to change notification settings - Fork 0
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 | 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. |
| 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. |