{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "$id": "https://raw.githubusercontent.com/matteocrippa/awesome-mobile-conferences/master/.github/schema.json",
    "type": "object",
    "properties": {
        "title": {
            "type": "string"
        },
        "header_contributing": {
            "type": "string"
        },
        "header": {
            "type": "string"
        },
        "ios_app_link": {
            "type": "string"
        },
        "android_app_link": {
            "type": "string"
        },
        "years": {
            "type": "array",
            "_uniqueItems": true
        },
        "conferences": {
            "type": "array",
            "_uniqueItems": true,
            "items": {
                "title": "Conference Object",
                "description": "An object that holds all the information for a specific conference.",
                "properties": {
                    "title": {
                        "title": "Conference Title",
                        "description": "The official title of the conference.",
                        "type": "string"
                    },
                    "year": {
                        "title": "Conference Year",
                        "description": "The reference of the year of the conference.",
                        "type": "integer"
                    },
                    "startdate": {
                        "title": "Conference Start date",
                        "description": "A brief 1 sentence summary of the project.",
                        "type": "string"
                    },
                    "enddate": {
                        "title": "Conference End date",
                        "description": "A brief 1 sentence summary of the project.",
                        "type": "string"
                    },
                    "homepage": {
                        "title": "Conference Homepage",
                        "description": "The URL for the project's homepage.",
                        "type": [
                            "string",
                            "null"
                        ],
                        "pattern": "^https?:\\/\\/.*?\\..*$",
                        "default": null
                    },
                    "where": {
                        "title": "Conference Address",
                        "description": "Contains a google maps address.",
                        "type": "string"
                    },
                    "city": {
                        "title": "Conference City",
                        "description": "Contains the city of the conference.",
                        "type": "string"
                    },
                    "country": {
                        "title": "Conference Country",
                        "description": "Contains the country of the conference.",
                        "type": "string"
                    },
                    "callforpaper": {
                        "title": "Conference Call for paper flag",
                        "description": "Contains a flag that show if a call for paper is open.",
                        "type": "boolean"
                    },
                    "twitter": {
                        "title": "Conference twitter account",
                        "description": "Contains the twitter account of the conference.",
                        "type": "string"
                    },
                    "topics": {
                        "title": "Conference Topics",
                        "description": "Contains the topic of the conference, you can pick within ios, android, ui, ux.",
                        "type": "array"
                    },
                    "category": {
                        "title": "Conference Category",
                        "description": "Contains the category of the conference.",
                        "type": "array",
                        "items": {
                            "type": "string",
                            "enum": [
                                "mobile",
                                "ui",
                                "ux",
                                "frontend",
                                "backend",
                                "marketing",
                                "devops"
                            ]
                        }
                    }
                },
                "required": [
                    "title",
                    "year",
                    "homepage"
                ],
                "additionalProperties": false
            }
        }
    },
    "required": [
        "title",
        "years",
        "conferences"
    ],
    "additionalProperties": false
}