This is a simple project representing a simple transaction engine to track the balance of clients.
The engine is only concerned with processing provided transactions. Things like retention of transition data for audit purposes or authorization are out of scope for this project.
The code is thoroughly documented. You can build and read the documentation via:
cargo doc --no-deps --openThis crate contains a binary for processing transactions listed in a CSV file.
Examples can be found in the assets/ folder.
Output of the engine is a list of the account balances of each client.
The output is printed to stdout.
Logs are printed to stderr.
To run the application use cargo's default run command and provide a valid CSV file:
cargo run -- assets/transactions.csv > accounts.csvThe application also provides a --help option for further options and infos:
cargo run -- --helpThe transaction engine was written with inline suggestions by free-tier copilot.
A final audit was performed with Claude Haiku 4.5 using the following prompt:
You are an auditor.
Check the whole repository ensure docs are correct and align with what the code actually does.
Ensure sufficient test coverage.
Identify potential issues.
The audit did not found any critical issues after a few fixes.