Code Monkey home page Code Monkey logo

adder_and_sidekick's Introduction

adder_and_sidekick

Exploration of minimalistic adder service and a front-end to it.

How It Works?

This is multi-module project, written in about 4 hours and contains minimalistic Dropwizard microservice (adder), wrapper around netty's hexdump proxy example which serves as user-facing client service (sidekick) and parent pom.

There are few Spock's specifications which run these services, they are plugged into Maven build pipeline. To run all tests (for adder, sidekick) simply run

mvn clean verify

This will run these tests and create packages.

Also, applications can be run as standalone, adder via:

java -jar adder/target/adder-<project.version>.jar server

Sidekick via:

java -jar sidekick/target/sidekick-<project.version>.jar

When started, one can send requests to adder directly via curl:

curl -v http://localhost:8080/+/-1/200 ; echo
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8080 (#0)
> GET /+/-1/200 HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.54.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Sun, 21 Jan 2018 11:09:39 GMT
< Content-Type: text/plain
< Vary: Accept-Encoding
< Content-Length: 3
< 
* Connection #0 to host localhost left intact
199

Or via client-facing server:

curl -v http://localhost:18080/+/-1/200 ; echo
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 18080 (#0)
> GET /+/-1/200 HTTP/1.1
> Host: localhost:18080
> User-Agent: curl/7.54.0
> Accept: */*
> 
< HTTP/1.1 200 OK
< Date: Sun, 21 Jan 2018 20:44:55 GMT
< Content-Type: text/plain
< Vary: Accept-Encoding
< Content-Length: 3
< 
* Connection #0 to host localhost left intact
199

Added also features health-check which always work.

Any Specification is standalone so it can be run in IDE and application will be debuggable

adder_and_sidekick's People

Contributors

iggyzap avatar

Watchers

 avatar

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.