Kalupi, a wallet service built with go-kit.
- Double-entry accounting
- Modular and extensible design
- Built with go-kit!
- Only payments within the same currency is supported
- Only USD is supported, other currencies can be supported with relative ease
The REST API documentation is located at docs/api.md.
Build the server:
$ go build -v -ldflags "-w -s" -o ./cmd/kalupi ./cmd/kalupi
Run the server:
$ DSN=<postgres connection string> ./cmd/kalupi
The container image is hosted on docker hub.
Run using docker:
$ docker run -p 8000:8000 \
-e DSN=<postgres connection string> \
stevenferrer/kalupi:0.1.0-rc1
Requirements:
Clone the repository:
$ git clone git@github.com:sf9v/kalupi.git
Setup test database:
$ docker run --name kalupi-test-db \
-d --rm -p 5432:5432 \
-e POSTGRES_PASSWORD=postgres \
postgres:12
Run the tests:
$ go test -v -cover -race ./...
The double-entry accounting implementation in this project is heavily based on the ideas of PerformanceDBA and deserves most of the credit.
All contributions are welcome! Please feel free to open an issue or make a pull request.