Skip to content

Foodee/master-fox-client-for-java

Repository files navigation

master-fox-client-for-java

Java JSON:API client for interfacing with MasterFox

CRNK

The client is built on top of the https://github.com/crnk-project/crnk-framework library. Which handles all of the heavy lifting for the serialization, request making, etc.

The main units are Resources, which are the Data Transfer Objects that map to Foodee's API. And Repositories, implement the basic CRUD operations overtop of REST.

Exercising

Since this is currently a work in progress, you can exercise the library by running the Exercise class.

Terminology

Below is a description of some of the units inside of the Foodee system.

ERD

Client

A client is a single account in the Foodee system, a client may be made up of many teams, users, and delivery locations, but it only has a single billing account.

Restaurant

A restaurant is a single vendor account, it may have multiple pickup locations, it only ever has a single menu

Menu

A menu is composed of multiple groups (Appetizers, Mains etc), menu items (individual sandwich), menu option groups (select a protein), and menu option items (pick turkey).

Order

An order is the basic unit that aggregates the items of a single delivery, they maintain a 1<>1 relationship with the following:

  • Client
  • Restaurant
  • Menu (This will be the active menu at the time of publishing the order)

An order is a State Machine (See OrderingState for a enumeration of the valid sates).

The diagram attached below contains the state diagram and process for an order moving through foodee system.

Order State Flow

GroupOrderMember

A group order member is a single member of an organization ordering for themselves on a 'Group/Team Order'. They may or may not be tied to a single user depending on if an order is configured to allow for Guests. A user will have one or more group order members over the duration of heir ordering experience wiht foodee.

About

Java JSON:API client for interfacing with MasterFox

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages