-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Nicolas Burtey
committed
Nov 30, 2024
1 parent
512dfa1
commit cf8a7f8
Showing
1 changed file
with
59 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 . | ||
``` |