Skip to content

Object Data Model

Ananya Bhat edited this page Feb 10, 2022 · 29 revisions

Object Data Model

There are a number of different key objects in the Dronuts system. These are outlined below.

Customer

{
    "customer_id" :    int,        // Unique integer id
    "first_name" :     string,
    "last_name" :      string,
    "email" :          string,
    "phone_number" :   string,
    "password" :       string,    // Salted, hashed password.
    "addresses":       [Location] // Reference to LOCATION objects
} 

Example Customer

{
    "customer_id" :     12,
    "first_name":       "Riccardo",
    "last_name":        "Santoni",
    "email":            "[email protected]",
    "phone_number":     "415-509-2866",
    "password":         "735ed12abec12bdcb42b",
    "addresses":        [
                            {
                                "location_id":         12,
                                "street":              "5350 beeler street",
                                "city":                "Pittsburgh",
                                "state":               "PA",
                                "zipcode":             "15217",
                            }
                        ]
}

Store

{
    "store_id" :       int,        // Unique integer id
    "name" :           string,
    "email" :          string,
    "phone_number" :   string,
    "address":         Location   // Reference to LOCATION object
} 

Example Store

{
    "store_id" :       12,
    "name" :           "Dronuts Store #12",
    "email" :          "[email protected]",
    "phone_number":    "412-291-8119",  
    "address":         {
                           "location_id":         12,
                           "street":              "732 Filbert St",
                           "city":                "Pittsburgh",
                           "state":               "PA",
                           "zipcode":             "15232",
                        }
}

Employee

` { "employee_id" : int, // UNIQUE "password" : string, // Hashed password, salted "employee_fullName": string,

} `

Employee example

{ "employee_id" : 1432, "password" : a12skdi8Ehd "employee_firstName" : John Smith, }

Drone

{ "drone_id" : int, //UNIQUE "battery_life": int, "drone_location": [string] //Reference to LOCATION objects "drone_orderId": int, //Reference to the id number of a specific order }

Location

{
    "location_id" :       int,        // Unique integer id
    "street_address" :    string,
    "city" :              string,
    "state" :             string,
    "zipcode":            string   
} 

Example Location

{
    "location_id":         12,
    "street":              "732 Filbert St",
    "city":                "Pittsburgh",
    "state":               "PA",
    "zipcode":             "15232",
}

Order

{
    "order_id" :       int,        // Unique integer id
    "customer_id" :    int,        // Reference to CUSTOMER object
    "drone_id" :       int,        // Reference to DRONE object
    "location_id" :    int,        // Reference to LOCATION object
    "order_items":     [string],    // Reference to DONUT objects
    "order_total":     float  
} 

Example Order

{
    "order_id":            10,
    "customer_id":         15,
    "drone_id":            3,
    "location_id":         12,
    "order_items":        [
                            {
                                "donut_id":            8,
                                "flavor":              "Cinnamon Sugar",
                                "price":               3.0,
                            },
                            {
                                "donut_id":            11,
                                "flavor":              "Boston Kreme",
                                "price":               3.5,
                            }
                        ],
    "order_total": 7.15
}
Clone this wiki locally