{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "#Project",
    "description": "A software development project. Can be used for other generic projects as well but the defined properties are geared towards software development projects.",
    "type": "object",
    "allOf": [
        {
            "$ref": "#Entity"
        },
        {
            "properties": {
                "key": {
                    "description": "A defined project key. It is ideal for a code project to have a consistent key that matches that of issue tracking project. For example, the key for a Bitbucket project should match the key of its corresponding Jira project.",
                    "type": "string"
                },
                "productionURL": {
                    "description": "The Production URL",
                    "type": "string",
                    "format": "uri"
                },
                "stagingURL": {
                    "description": "The Non-Production / Staging URL",
                    "type": "string",
                    "format": "uri"
                },
                "devURL": {
                    "description": "The Development URL",
                    "type": "string",
                    "format": "uri"
                },
                "testURL": {
                    "description": "The Test URL",
                    "type": "string",
                    "format": "uri"
                },
                "alternateURLs": {
                    "description": "The additional URLs related to this application.",
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": []
        }
    ]
}
