The Firefox Marketplace is a collection of services and repositories that together form the Marketplace.
Our recommended setup for the backend is to use Docker. And our recommended setup for the frontend is to clone the repository as detailed in our Marketplace Frontend documentation. By default, the frontend setup will point to our development server and database. But if you wanted a full environment, you can set up both the backend and frontend, and point your frontend towards the backend set up by Docker.
Setting up the Backend¶
If you want to work on the backend, the API, or the payments infrastructure, visit our Marketplace Backend documentation. It will explain how to set up Docker as it automates the setup of the Marketplace environment.
Setting up the Frontend¶
If you want to work on the consumer-facing Marketplace frontend, visit our Marketplace Frontend documentation. It only takes three commands to get things up and running. You don’t even need to setup a backend, although you could if you wanted your own personal playground.
List of Services and Repositories¶
- Zamboni: the main API backend that also serves developer, reviewer, and admin tool pages. Written in Python with Django - source, docs, API docs.
- Marketplace API Mock: a fake API backend used for frontend testing. Written in Python with Flask - source.
- Monolith: storage and query server for statistics around the Marketplace. Written in Python - source, aggregator source.
- Webpay and Solitude: servers for processing payments for the Marketplace. Written in Python with Django - webpay source, webpay docs, solitude source, solitude docs.
- Trunion: a signing service for app receipts and packaged apps. Written in Python with Pyramid - source.
- Zippy: a fake backend for payments so to fake out carrier billing. Written in Node - source.
- APK Factory: generates Android APKs out of web apps. Written in Node and Python - factory source, signer source, signer docs.
- marketplace-env: automated Marketplace backend setup using Docker. Uses Docker and fig - source
- Signing server: signs receipts and apps for the Marketplace. Written in Python - signing service, and signing libraries.
- commonplace: Node module that includes configuration, template optimization, l10n. Written in Node - source.
- marketplace-gulp: gulpfiles for Marketplace frontend projects for builds. Written in Node - source.
- marketplace-constants: shared constants between the backend and frontend. Written in Python - source.
Marketplace’s servers are outlined below For specifics of our production configuration, please see the Services documentation (only visible to Mozilla employees).
- dev: updated each commit.
- alt dev: updated each commit. Used for testing disruptive development features.
- stage: updated when tags are made. This is as similar to production as possible. Used for testing features before they go to production. Uses real money for payments.
- payments alt: updated each commit. Used for testing dispruptive payments features. Uses real money for payments.
- production: updated as per the push schedule. The production servers are the only ones with any uptime expectations.