From cf8a7f8d29b66bfefff4a953ae06afd00e90b804 Mon Sep 17 00:00:00 2001 From: Nicolas Burtey Date: Sat, 30 Nov 2024 09:33:25 -0600 Subject: [PATCH] docs: improve README --- README.md | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 59 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index dc45c502..719cd92e 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,70 @@ -# cala +# Cala -run (unit) tests: +Cala is a robust ledger system developed by Galoy, designed to handle complex financial transactions and accounting operations. It provides a flexible and scalable solution for managing financial records with strong consistency guarantees. + +## Components + +- `cala-ledger`: Core ledger implementation +- `cala-server`: Server implementation handling API requests +- `cala-nodejs`: Node.js bindings for integration with JavaScript/TypeScript applications +- `cala-cel-interpreter` & `cala-cel-parser`: Common Expression Language (CEL) support +- `cala-tracing`: Tracing and monitoring functionality + +## Prerequisites + +The following dependencies are required: +- Rust (see `rust-toolchain.toml` for version) +- Node.js (for Node.js bindings) +- Docker (for containerized deployment) +- Make + +All dependencies can be automatically installed using Nix: +```bash +nix develop +``` + +This will set up a development environment with all required tools and dependencies. + +## Development Setup + +1. Clone the repository: +```bash +git clone https://github.com/GaloyMoney/cala.git +cd cala +``` + +2. Install dependencies: +```bash +make reset-deps +``` + +## Testing + +Run unit tests with: ```bash make reset-deps next-watch ``` -to run e2e tests: +Run end-to-end tests with: ```bash make e2e ``` -to run the server: -``` +## Running the Server + +To run the server: +```bash make run-server ``` + +## Docker Support + +Build the Docker image: +```bash +docker build -t cala . +``` + +For production builds: +```bash +docker build -f Dockerfile.release -t cala:release . +```