Skip to main content

wasmEats

info

Please make sure that you've completed and are comfortable with the quickstart before moving on to any of these guides.

The balance between providing real-world examples and keeping examples simple enough to follow and use as references is a delicate one. This guide walks through the design, implementation, and deployment of a sample multi-vendor restaurant application modeled after multiple popular applications. We've tried to trim enough features to keep the model simple while still keeping the core of the problem domain intact.

About the Application

wasmEats is the best new app used by nearly every fictitious person in the sample universe. This application provides a quick and easy way to give customers access to food supplied by multiple different vendors. In this simplified version of the application, we don't deal with the complexities of delivery and fulfillment (though we may tackle those problems as add-ons in the future).

This application revolves around three core concepts:

  • Vendors - The companies providing food
  • Menus - The list of food provided
  • Orders - Transactions representing an exchange of food between a vendor and a customer

Note that we're not explicitly managing customers in this version, we'll just put arbitrary customer IDs on the orders.

Architecture and Design

wasmEats Architecture

This application is composed of the following actors:

UI

The UI actor exposes an API by which other actors can request various static assets to be served up as the application's user interface. The application only supports web-based UI.

API Gateway

The API gateway actor exposes an HTTP endpoint that contains both a RESTful API for interacting with the backend as well as routes for pulling static assets for the UI.

Vendor

This actor exposes simple read/write operations for managing vendors.

This actor exposes simple read/write operations for managing menus and menu items.

Order

This actor exposes simple read/write operations for generating order transactions and querying order history.

Implementation Walkthrough

info

We are in a closed Developer Preview at the moment. As such, walkthroughs like this are in flux so we will be writing them as soon as the material stabilizes.

Stay tuned for updates to this reference application and walkthrough!