-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Douwe de Vries edited this page Jul 2, 2026
·
4 revisions
CSV Align is a Rust, Tauri, and React application for comparing two local CSV files. It loads both files, lets users choose row keys and comparison columns, highlights differences, and exports results or saved snapshots.
| Area | Purpose |
|---|---|
src/ |
Shared Rust library and local web server. The crate exports api, backend, comparison, data, and presentation from src/lib.rs. |
frontend/ |
React 19 and TypeScript UI for file selection, mapping, normalization rules, result review, and browser/Tauri transport switching. |
src-tauri/ |
Tauri 2 desktop wrapper. Commands in src-tauri/src/commands.rs call the same backend workflows used by Axum. |
tests/ |
Rust integration tests for public workflows, API contracts, persistence, packaging, and transport parity. |
.github/workflows/ |
CI and release workflows for Rust, frontend, Tauri, Linux package validation, and releases. |
scripts/ |
Release and packaging helpers for APT, RPM, Linux metadata validation, and version checks. |
- Load File A and File B.
- Pick row-key columns that identify matching rows.
- Pick comparison-column pairs manually or use auto-pair for confident matches.
- Apply comparison rules such as null handling, case-insensitive text, numeric equivalence, date normalization, decimal rounding, or flexible row-key matching.
- Review matches, mismatches, missing rows, ignored rows, and duplicates.
- Export CSV/HTML results, save pair-order setup files, or save a comparison snapshot.
The high-level request path is documented in architecture. Runtime entry points are covered under applications, and deeper capabilities are covered under features.
| File | Purpose |
|---|---|
README.md |
Product summary, installation notes, quick start, and maintainer notes. |
src/main.rs |
Local web server entry point on 127.0.0.1:3001. |
src/lib.rs |
Shared Rust crate module boundary. |
src-tauri/src/main.rs |
Desktop entry point and Tauri command registration. |
frontend/src/App.tsx |
React step shell for selection, configuration, and results. |
frontend/src/hooks/useComparisonWorkflow.ts |
Top-level UI workflow hook. |
- New contributors should read getting started, then development workflow.
- Backend changes usually start in shared backend workflows.
- UI changes usually start in frontend workflow.
- Transport changes must read transport parity before editing invoke names or API routes.
Generated by Factory