Skip to content

stevenferrer/kalupi

Repository files navigation

GoDoc Reference Github Actions Coverage Status Go Report Card

Kalupi

Kalupi, a wallet service built with go-kit.

Features

Limitations

  • Only payments within the same currency is supported
  • Only USD is supported, other currencies can be supported with relative ease

Documentation

The REST API documentation is located at docs/api.md.

Build

Build the server:

$ go build -v -ldflags "-w -s" -o ./cmd/kalupi ./cmd/kalupi

Run the server:

$ DSN=<postgres connection string> ./cmd/kalupi

Docker

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

Development

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 ./...

Shoulders of the giants

The double-entry accounting implementation in this project is heavily based on the ideas of PerformanceDBA and deserves most of the credit.

Contributing

All contributions are welcome! Please feel free to open an issue or make a pull request.

License

MIT