{
  "repo": "tidbcloud/branching-django-example",
  "binary": "django-app",
  "binary_path": "apps/manage.py",
  "surface_kind": "mixed_service",
  "type": "mixed_service",
  "services": [
    {
      "name": "DjangoManageCLI",
      "package": "apps/manage.py",
      "methods": [
        {
          "name": "manage.py <command>",
          "name_key": "CLI manage.py <command>",
          "input": "Django management command and env-loaded database settings",
          "output": "runserver, migrate, and other Django management actions",
          "type": "cli"
        }
      ]
    },
    {
      "name": "DjangoHTTP",
      "package": "apps/apps/urls.py",
      "type": "http",
      "methods": [
        {
          "name": "GET /",
          "name_key": "HTTP GET /",
          "path": "/",
          "http_method": "GET",
          "input": "browser request",
          "output": "home page",
          "type": "http"
        },
        {
          "name": "CRUD /books_cbv/*",
          "name_key": "HTTP GET /books_cbv/*",
          "path": "/books_cbv/",
          "http_method": "GET/POST",
          "input": "book CRUD requests through CBV handlers",
          "output": "book list/create/update/delete responses",
          "type": "http"
        },
        {
          "name": "CRUD /books_fbv/*",
          "name_key": "HTTP GET /books_fbv/*",
          "path": "/books_fbv/",
          "http_method": "GET/POST",
          "input": "book CRUD requests through FBV handlers",
          "output": "book list/create/update/delete responses",
          "type": "http"
        },
        {
          "name": "CRUD /books_fbv_user/*",
          "name_key": "HTTP GET /books_fbv_user/*",
          "path": "/books_fbv_user/",
          "http_method": "GET/POST",
          "input": "authenticated user CRUD requests",
          "output": "book list/create/update/delete responses with auth flows",
          "type": "http"
        },
        {
          "name": "Auth /accounts/*",
          "name_key": "HTTP GET /accounts/*",
          "path": "/accounts/",
          "http_method": "GET/POST",
          "input": "Django built-in auth requests",
          "output": "login and auth-related pages",
          "type": "http"
        },
        {
          "name": "Admin /admin/*",
          "name_key": "HTTP GET /admin/*",
          "path": "/admin/",
          "http_method": "GET/POST",
          "input": "Django admin requests",
          "output": "admin interface pages",
          "type": "http"
        }
      ]
    }
  ],
  "extensions": {
    "notes": [
      "This repo is an example Django application, not a library-only repo."
    ]
  }
}
