Giter Site home page Giter Site logo

payment's Introduction

DEPRECATED: Payment

Build Status Coverage Status Go Report Card

A microservices-demo service that provides payment services. This build is built, tested and released by travis.

Bugs, Feature Requests and Contributing

We'd love to see community contributions. We like to keep it simple and use Github issues to track bugs and feature requests and pull requests to manage contributions.

API Spec

Checkout the API Spec here

Build

Dependencies

cd $GOPATH/src/github.com/microservices-demo/payment/
go get -u github.com/FiloSottile/gvt
gvt restore

Using native Go tools

In order to build the project locally you need to make sure that the repository directory is located in the correct $GOPATH directory: $GOPATH/src/github.com/microservices-demo/payment/. Once that is in place you can build by running:

cd $GOPATH/src/github.com/microservices-demo/payment/paymentsvc/
go build -o payment

The result is a binary named payment, in the current directory.

Using Docker Compose

docker-compose build

Test

COMMIT=test make test

Run

Using Go native

If you followed to Go build instructions, you should have a "payment" binary in $GOPATH/src/github.com/microservices-demo/payment/cmd/paymentsvc/. To run it use:

./payment
ts=2016-12-14T11:48:58Z caller=main.go:29 transport=HTTP port=8080

Using Docker Compose

If you used Docker Compose to build the payment project, the result should be a Docker image called weaveworksdemos/payment. To run it use:

docker-compose up

You can now access the service via http://localhost:8082

Check

You can check the health of the service by doing a GET request to the health endpoint:

curl http://localhost:8082/health
{"health":[{"service":"payment","status":"OK","time":"2016-12-14 12:22:04.716316395 +0000 UTC"}]}

Use

You can authorise a payment by POSTing to the paymentAuth endpoint:

curl -H "Content-Type: application/json" -X POST -d'{"Amount":40}'  http://localhost:8082/paymentAuth
{"authorised":true}

Push

GROUP=weaveworksdemos COMMIT=test ./scripts/push.sh

payment's People

Contributors

darren-reddick avatar dreddick-home avatar frankscholten avatar jasonrichardsmith avatar jpellizzari avatar morancj avatar nustiueudinastea avatar ottovsky avatar philwinder avatar pidster avatar rndstr avatar vlal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

payment's Issues

The prometheus metric names can be improved

  • The application name should not be included, as it's available a parameter in the query. foo_payment_bar can be improved to foo_bar leading to the query foo_bar{'app=payment'}
  • For consistency using the http namespace would be better.

payment build error

Well I think the readme is a bit off on what you need to go get as needed to go get a lot of packages that where missing to perform the build. The one I got an error on and it's weave works:

$ go get github.com/weaveworks/common/middleware

github.com/weaveworks/common/logging

github.com/weaveworks/common/logging/logging.go:35:13: cannot use hook (type promrus.PrometheusHook) as type "github.com/sirupsen/logrus".Hook in argument to "github.com/sirupsen/logrus".AddHook:
promrus.PrometheusHook does not implement "github.com/sirupsen/logrus".Hook (wrong type for Fire method)
have Fire(
"github.com/weaveworks/promrus/vendor/github.com/sirupsen/logrus".Entry) error
want Fire(
"github.com/sirupsen/logrus".Entry) error

and if you try to build payment get the same error:
$ go build -o payment

github.com/weaveworks/common/logging

../../../../weaveworks/common/logging/logging.go:35:13: cannot use hook (type promrus.PrometheusHook) as type "github.com/sirupsen/logrus".Hook in argument to "github.com/sirupsen/logrus".AddHook:
promrus.PrometheusHook does not implement "github.com/sirupsen/logrus".Hook (wrong type for Fire method)
have Fire(
"github.com/weaveworks/promrus/vendor/github.com/sirupsen/logrus".Entry) error
want Fire(
"github.com/sirupsen/logrus".Entry) error

README.md

I followed the readme and not sure the directions are up to date.
I did Dependencies

cd $GOPATH/src/github.com/microservices-demo/payment/
go get -u github.com/FiloSottile/gvt
gvt restore

I'm not a go developer but does not this just get the gvt src thus need to craete the gvt executable and install it? i.e. gvt is not found for me.

Next not sure the next directions are correct either WRT cd $GOPATH/src/github.com/microservices-demo/payment/paymentsvc/
I cloned the repo to my local machine and no such paymentsvc directory exists at that level but in a sub directory of cmd i.e. $GOPATH/github.com/microservices-demo/payment/cmd/paymentsvc

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.