Getting started for developers

gary-rowe edited this page Oct 24, 2012 · 9 revisions

MultiBit Merchant is a Java web application built using Maven 3 and based on the Dropwizard framework. It is divided into a RESTful platform (the mbm module) and a collection of demonstration clients. The demonstration clients are in the accompanying repositories such as MultiBitStore and provide a more attractive HTML interface. They serve to demonstrate how a typical client application would interact with the MBM platform using standard HTTP request/response operations.

For more background on the overall project development you should read my blog entries.

Initial build and start for latest release candidate (develop-SNAPSHOT)

Clone the develop branch, which contains the latest available production release, then navigate to the top level of the project and execute the following command:

mvn clean install

This will trigger a fairly significant build process if it's the first Maven build on your system. You might want to grab a coffee. Once the build completes successfully, you can issue the following command:

java -jar mbm-develop-SNAPSHOT.jar server mbm.yml

This will start the MBM platform. You should see no exceptions on startup, and a large MBM banner message. Afterwards, you will not get any user interface - it is entirely driven through a HTTP RESTful API. You can check that it is working through a simple curl command:

curl http://localhost:8080/mbm/items/0575088893

You should see some JSON blurb about a book called "The Quantum Thief" - it's very good by the way.

You are now ready to serve client applications from MBM so you can skip forward to the client section.

Starting the latest release

This is the same as for the release candidate, but uses the master branch.

Starting the clients

Each client represents an implementation of a particular business model that uses MBM for the heavy lifting common to all online businesses. The following is a list of implemented clients with links to their wikis:

  • MultiBit Store - a fully operational online shop
  • MultiBit Admin - (in progress) an browser based administration tool for MBM