UC1 Schemas
This content is obselete for the project development (see ADR-0034), and is retained for future reference.
Animations Schema
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc1/animations.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"name": "Runnning",
"created": "1624521140042",
"created_by": "egm9430mfg3403",
"src": [
{
"file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.abc",
"photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.png"
}
]
}
],
"required": [
"name",
"created",
"created_by",
"src"
],
"properties": {
"name": {
"$id": "#/properties/name",
"default": "",
"description": "The animation name",
"examples": [
"Runnning",
"Standing",
"Sitting",
"Walking"
],
"title": "The name property",
"type": "string"
},
"created": {
"$id": "#/properties/created",
"default": "",
"description": "Timestamp in milliseconds, created when submitting an animation",
"examples": [
"1624521140042",
"1519129853500"
],
"title": "The created property",
"type": "string"
},
"created_by": {
"$id": "#/properties/created_by",
"type": "string",
"title": "The created_by object",
"description": "It includes a user Id of the user that uploaded the animation",
"default": {},
"examples": [
"egm9430mfg3403"
]
},
"src": {
"$id": "#/properties/src",
"default": {},
"description": "The src object contains a file and a photo property",
"examples": [
{
"file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.fbx",
"photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.png"
}
],
"required": [
"file",
"photo"
],
"title": "The src object",
"type": "object",
"properties": {
"file": {
"$id": "#/properties/src/properties/file",
"default": "",
"description": "This is a URL that points to the animation file saved in Firebase Storage",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.fbx"
],
"title": "The file property",
"type": "string"
},
"photo": {
"$id": "#/properties/src/properties/photo",
"default": "",
"description": "A URL that points to a photo of the animation saved in Firebase Storage, for display purposes on the config app",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/animation%public%filename.png"
],
"title": "The photo property",
"type": "string"
}
}
}
}
}
Avatars Schema
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc1/avatars.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"name": "Male 30s Caucasian",
"created": "1624521140042",
"created_by": "egm9430mfg3403",
"src": {
"file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.fbx",
"photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.jpg"
}
}
],
"required": [
"name",
"created",
"created_by",
"src"
],
"properties": {
"name": {
"$id": "#/properties/name",
"default": "",
"description": "The Avatar name",
"examples": [
"Male 30s Caucasian"
],
"title": "The name property",
"type": "string"
},
"created": {
"$id": "#/properties/created",
"default": "",
"description": "Timestamp in milliseconds, created when submitting an avatar",
"examples": [
"1624521140042"
],
"title": "The created property",
"type": "string"
},
"created_by": {
"$id": "#/properties/created_by",
"default": {},
"description": "It includes a user Id of the user that uploaded the avatar",
"examples": [
"egm9430mfg3403"
],
"type": "string"
},
"src": {
"$id": "#/properties/src",
"default": {},
"description": "The src object contains a file and a photo property.",
"examples": [
{
"file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.fbx",
"photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.png"
}
],
"required": [
"file",
"photo"
],
"title": "The src object",
"type": "object",
"properties": {
"file": {
"$id": "#/properties/src/properties/file",
"default": "",
"description": "This is a URL that points to the avatar file saved in Firebase Storage",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.fbx"
],
"title": "The file property",
"type": "string"
},
"photo": {
"$id": "#/properties/src/properties/photo",
"default": "",
"description": "A URL that points to a photo of the avatar saved in Firebase Storage, for display purposes on the config app",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/avatar%public%filename.png"
],
"title": "The photo property",
"type": "string"
}
}
}
}
}
Garments Schema
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc1/garments.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"uid": "98237483247",
"name": "Pencil Skirt",
"collection": [
"F/W2020",
"SPRING2021"
],
"photo": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.png",
"category": "Bottoms",
"type": "Skirt",
"style": "Pencil",
"src": {
"file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.fbx",
"texture": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/textures%shared%filename.zip",
"meta": {
"colors": [
"Light Grey",
"Black",
"Red"
]
}
},
"market_segment_ids": [
"3",
"46",
"54"
],
"created": "1624521140042",
"created_by": "egm9430mfg3403"
}
],
"required": [
"uid",
"name",
"collection",
"photo",
"category",
"type",
"style",
"src",
"market_segment_ids",
"created",
"created_by"
],
"properties": {
"uid": {
"$id": "#/properties/uid",
"default": "",
"description": "A unique id for each garment configuration",
"examples": [
"98237483247"
],
"title": "The uid property",
"type": "string"
},
"name": {
"$id": "#/properties/name",
"default": "",
"description": "The garment name",
"examples": [
"Pencil Skirt"
],
"title": "The name property",
"type": "string"
},
"collection": {
"$id": "#/properties/collection",
"default": [],
"description": "An array of strings, denoting one or multiple fashion collections that the garment is included in.",
"examples": [
[
"F/W2020",
"SPRING2021"
]
],
"title": "The collection array",
"type": "array",
"items": {
"$id": "#/properties/collection/items",
"anyOf": [
{
"$id": "#/properties/collection/items/anyOf/0",
"default": "",
"description": "A string, denoting a fashion collection that the garment is included in.",
"examples": [
"F/W2020",
"SPRING2021"
],
"title": "The first anyOf property",
"type": "string"
}
]
}
},
"photo": {
"$id": "#/properties/photo",
"default": "",
"description": "A URL of a photo of the specific garment that is saved in Firebase Storage, under the UC1 subfolder",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.png"
],
"title": "The photo property",
"type": "string"
},
"category": {
"$id": "#/properties/category",
"default": "",
"description": "The category the garment belongs to",
"examples": [
"Bottoms"
],
"title": "The category property",
"type": "string"
},
"type": {
"$id": "#/properties/type",
"default": "",
"description": "The type of garment",
"examples": [
"Skirt"
],
"title": "The type property",
"type": "string"
},
"style": {
"$id": "#/properties/style",
"default": "",
"description": "The garment style",
"examples": [
"Pencil"
],
"title": "The style property",
"type": "string"
},
"src": {
"$id": "#/properties/src",
"type": "object",
"title": "The src schema",
"description": "Inside the src object, there is a specific garment file, a texture zip and available colors. It includes a URL to Firebase Storage for the garment file, a URL for the textures zip in Firebase Storage and an array that features all colors available",
"default": {},
"examples": [
{
"file": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.fbx",
"texture": "https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/textures%shared%filename.zip",
"meta": {
"colors": [
"Light Grey",
"Black",
"Red"
]
}
}
],
"required": [
"file",
"texture",
"meta"
],
"properties": {
"file": {
"$id": "#/properties/src/properties/file",
"type": "string",
"title": "The file property",
"description": "A Firebase Storage url that features the 3d model of the garment",
"default": "",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/garment%shared%filename.fbx"
]
},
"texture": {
"$id": "#/properties/src/properties/texture",
"type": "string",
"title": "The texture property",
"description": "A Firebase Storage url that features the zip file for the textures of the garment",
"default": "",
"examples": [
"https://firebasestorage.googleapis.com/v0/b/etryon-h2020.appspot.com/o/textures%shared%filename.zip"
]
},
"meta": {
"$id": "#/properties/src/properties/meta",
"type": "object",
"title": "The meta object",
"description": "The meta object contains metadata about the garment",
"default": {},
"examples": [
{
"colors": [
"Light Grey",
"Black",
"Red"
]
}
],
"required": [
"colors"
],
"properties": {
"colors": {
"$id": "#/properties/src/properties/meta/properties/colors",
"type": "array",
"title": "The colors array",
"description": "An array that features the colors available for the garment",
"default": [],
"examples": [
[
"Light Grey",
"Black"
]
],
"items": {
"$id": "#/properties/src/properties/meta/properties/colors/items",
"anyOf": [
{
"$id": "#/properties/src/properties/meta/properties/colors/items/anyOf/0",
"type": "string",
"title": "The first anyOf property",
"description": "A color label string",
"default": "",
"examples": [
"Light Grey",
"Black"
]
}
]
}
}
}
}
}
},
"market_segment_ids": {
"$id": "#/properties/market_segment_ids",
"default": [],
"description": "It contains market segment Ids that the garment is associated with",
"examples": [
[
"3",
"46"
]
],
"title": "The market_segment_ids array",
"type": "array",
"additionalItems": false,
"items": {
"$id": "#/properties/market_segment_ids/items",
"anyOf": [
{
"$id": "#/properties/market_segment_ids/items/anyOf/0",
"default": "",
"description": "A market segment id string",
"examples": [
"3",
"46"
],
"title": "The first anyOf property",
"type": "string"
}
]
}
},
"created": {
"$id": "#/properties/created",
"default": "",
"description": "Timestamp in milliseconds, created when submitting a garment entry",
"examples": [
"1624521140042"
],
"title": "The created property",
"type": "string"
},
"created_by": {
"$id": "#/properties/created_by",
"type": "string",
"title": "The created_by property",
"description": "An Id of the user that uploaded the specific garment",
"default": {},
"examples": ["egm9430mfg3403"]
}
}
}
Market Segments Schema
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc1/market_segments.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"name": "Segment 1",
"created": "1624521140042",
"age_target": "18-24",
"price": "200",
"color": "white"
}
],
"required": [
"name",
"created",
"age_target",
"price",
"color"
],
"properties": {
"name": {
"$id": "#/properties/name",
"default": "",
"description": "The Market Segment name.",
"examples": [
"Segment 1"
],
"title": "The name poperty",
"type": "string"
},
"created": {
"$id": "#/properties/created",
"default": "",
"description": "Timestamp in milliseconds, created when submitting a market segment entry",
"examples": [
"1624521140042"
],
"title": "The created property",
"type": "string"
},
"age_target": {
"$id": "#/properties/age_target",
"default": "",
"description": "The age target property",
"examples": [
"18-24"
],
"title": "The age_target property",
"type": "string"
},
"price": {
"$id": "#/properties/price",
"default": "",
"description": "The price property",
"examples": [
"200"
],
"title": "The price property",
"type": "string"
},
"color": {
"$id": "#/properties/color",
"default": "",
"description": "The color property",
"examples": [
"white"
],
"title": "The color property",
"type": "string"
}
}
}
Market Segments Results Schema
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc1/market_segments.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"name": "Segment 1",
"created": "1624521140042",
"age_target": "18-24",
"price": "200",
"color": "white"
}
],
"required": [
"name",
"created",
"age_target",
"price",
"color"
],
"properties": {
"name": {
"$id": "#/properties/name",
"default": "",
"description": "The Market Segment name.",
"examples": [
"Segment 1"
],
"title": "The name poperty",
"type": "string"
},
"created": {
"$id": "#/properties/created",
"default": "",
"description": "Timestamp in milliseconds, created when submitting a market segment entry",
"examples": [
"1624521140042"
],
"title": "The created property",
"type": "string"
},
"age_target": {
"$id": "#/properties/age_target",
"default": "",
"description": "The age target property",
"examples": [
"18-24"
],
"title": "The age_target property",
"type": "string"
},
"price": {
"$id": "#/properties/price",
"default": "",
"description": "The price property",
"examples": [
"200"
],
"title": "The price property",
"type": "string"
},
"color": {
"$id": "#/properties/color",
"default": "",
"description": "The color property",
"examples": [
"white"
],
"title": "The color property",
"type": "string"
}
}
}
User Info Schema
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://etryon-h2020.eu/schema/uc1/user_info.json",
"type": "object",
"title": "The root schema",
"description": "The root schema comprises the entire JSON document.",
"default": {},
"examples": [
{
"name": "John Doe",
"role": "designer",
"default_segment": "1236"
}
],
"required": [
"name",
"role",
"default_segment"
],
"properties": {
"name": {
"$id": "#/properties/name",
"default": "",
"description": "The provided Full name of the user",
"examples": [
"John Doe"
],
"title": "The name property",
"type": "string"
},
"role": {
"$id": "#/properties/role",
"default": "",
"description": "The user role",
"examples": [
"user",
"designer",
"manager"
],
"title": "The role property",
"type": "string"
},
"default_segment": {
"$id": "#/properties/default_segment",
"default": "",
"description": "If user sets a preferred Market Segment, then it is set here as an Id. When creating a new garment entry, this default Segment will be pre-set",
"examples": [
"1236"
],
"title": "The default_segment property",
"type": "string"
}
}
}