/store-server

Primary LanguageClojure

store-server

This is the main program that runs the prototype store. It is a single jar that handles both HTTP and Websocket APIs. Per our architecture design, this applicaiton handles both load balancing and higher level database functionnality internally.

How to build

You need Java 7 and leiningen on your machine to make the jar.

lein uberjar
docker build -t aircart/store-server .

How to run

Add -p 8080:8080 if you want to test the api over an unsecure connection, otherwise use with ssl-proxy.

docker run --name api aircart/store-server

Devices API Documentation

For API doc, go to: http://docs.aircart.apiary.io/

Seeding Web Commands

Seed cart

curl http(s)://host:port/seeding/cart/[user-id]/[cart-name]

This will seed the given cart-name to user-id. Example:

curl http://tariks-air:8080/seeding/cart/1031864300/web

will give Joe the same cart as on Aircart's homepage.

Seed payment cards

curl http(s)://host:port/seeding/cards/[user-id]/[stripe-id]

This will give this user all the credit cards associated with the given Stripe customer ID. Example:

curl http://tariks-air:8080/seeding/cards/1031864300/cus_2HF3vQgQKy5aIo

will (re)connect Joe's Stripe account to his Aircart account, he will hence see all his credit cards appear again, in case the Aircart database was reset.