accounts

Overview

moov-io/accounts

Moov Accounts is a general ledger accounting system designed to support the handling of Customer funds deposited at a bank or credit union. Implemented as an RESTful API and Moov Accounts can be leveraged by a financial institution to provide modern banking services to its customers. Moov Accounts can be utilized by a technology company to manage Customer assets that are in a single For Benefit of Account at a financial institution. Moov’s primary use is with PayGate. (A full implementation of ACH origination)

Docs: Project API Endpoints

Running Moov Accounts Server

Binary Distribution

Download the latest Moov Accounts server release for your operating system and run it from a terminal.

$ DEFAULT_ROUTING_NUMBER=987654320 ./accounts-darwin-amd64
ts=2020-03-12T23:58:00.457866Z caller=main.go:51 main="Starting moov/accounts server version v0.4.0"
ts=2020-03-12T23:58:00.458897Z caller=database.go:20 database="looking for sqlite database provider"
ts=2020-03-12T23:58:00.458967Z caller=sqlite.go:69 main="sqlite version 3.30.1"
ts=2020-03-12T23:58:00.458926Z caller=main.go:80 admin="listening on [::]:9095"
ts=2020-03-12T23:58:00.460028Z caller=main.go:99 main="using *main.sqlAccountRepository for account storage"
ts=2020-03-12T23:58:00.460059Z caller=database.go:20 database="looking for sqlite database provider"
ts=2020-03-12T23:58:00.460536Z caller=main.go:112 main="using *main.sqlTransactionRepository for transaction storage"
ts=2020-03-12T23:58:00.460723Z caller=main.go:158 main="binding to :8085 for HTTP server"

Docker Container

Moov Accounts is dependent on Docker being properly installed and running on your machine. Ensure that Docker is running. If your Docker client has issues connecting to the service review the Docker getting started guide if you have any issues.

Execute the Docker run command

$ docker run -p 8085:8085 -p 9095:9095 moov/accounts:latest
ts=2020-03-12T23:58:00.457866Z caller=main.go:51 main="Starting moov/accounts server version v0.4.0"
ts=2020-03-12T23:58:00.458897Z caller=database.go:20 database="looking for sqlite database provider"
ts=2020-03-12T23:58:00.458967Z caller=sqlite.go:69 main="sqlite version 3.30.1"
ts=2020-03-12T23:58:00.458926Z caller=main.go:80 admin="listening on [::]:9095"
ts=2020-03-12T23:58:00.460028Z caller=main.go:99 main="using *main.sqlAccountRepository for account storage"
ts=2020-03-12T23:58:00.460059Z caller=database.go:20 database="looking for sqlite database provider"
ts=2020-03-12T23:58:00.460536Z caller=main.go:112 main="using *main.sqlTransactionRepository for transaction storage"
ts=2020-03-12T23:58:00.460723Z caller=main.go:158 main="binding to :8085 for HTTP server"

Kubernetes

Moov deploys Accounts from this manifest template on Kubernetes in the apps namespace. You could reach the Accounts instance using http://accounts.apps.svc.cluster.local:8080 inside the cluster.

We also offer a Helm Chart for deployment.

Configuration

View our section on environmental variables for options that Accounts accepts.

For database storage we offer SQLite (default) and MySQL (in v0.5.0-dev) with various configuration options.

Connecting to Moov Accounts

The Moov Accounts service will be running on port 8085 (with an admin port on 9095).

Confirm that the service is running by issuing the following command or simply visiting the url in your browser localhost:8085/ping

$ curl http://localhost:8085/ping
PONG

Accounts Admin Port

The port :9095 is bound by Accounts for our admin service. This HTTP server has endpoints for Prometheus metrics (GET /metrics), readiness (GET /ready) and liveness checks (GET /live).

API documentation

See our API documentation for Moov Accounts endpoints.

Getting Help

channel info
Project Documentation Our project documentation available online.
Google Group moov-users The Moov users Google group is for contributors other people contributing to the Moov project. You can join them without a google account by sending an email to moov-users+subscribe@googlegroups.com. After receiving the join-request message, you can simply reply to that to confirm the subscription.
Twitter @moov_io You can follow Moov.IO’s Twitter feed to get updates on our project(s). You can also tweet us questions or just share blogs or stories.
GitHub Issue If you are able to reproduce a problem please open a GitHub Issue under the specific project that caused the error.
moov-io slack Join our slack channel (#accounts) to have an interactive discussion about the development of the project.