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.
You need Java 7 and leiningen on your machine to make the jar.
lein uberjar
docker build -t aircart/store-server .
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
For API doc, go to: http://docs.aircart.apiary.io/
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.
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.