{
  "schemaVersion": 1,
  "id": "P25-C03",
  "title": "Единственная чашка не превращается в две",
  "author": {
    "id": "P25",
    "name": "Анна Ершова"
  },
  "specialty": "Интернет-магазины небольших брендов",
  "projectStatus": "concept",
  "source": {
    "document": "catalogue_60_personas.md",
    "briefId": "P25-C03",
    "title": "Авторская керамика",
    "kind": "editorial_concept",
    "data": "synthetic"
  },
  "context": "У авторского предмета важен конкретный экземпляр. Кнопка «еще одну» не должна создавать несуществующую копию.",
  "decision": "Задала каждому изделию остаток один. Корзина проверяет его при добавлении и еще раз при оформлении; после заказа доступность сохраняется в браузере. Настоящий многопользовательский резерв здесь не заявляется.",
  "constraint": "Цены и остатки относятся к самостоятельному проекту. Оплаты и доставки нет; хранилище браузера не заменяет серверный учет магазина.",
  "steps": [
    "Добавить выбранное исполнение и изменить количество: корзина сохраняет конкретный артикул.",
    "Оформить заказ с именем получателя: состав и сумма появляются в истории.",
    "Перезагрузить страницу: заказ и оставшиеся учебные остатки сохраняются."
  ],
  "inspection": [
    "Добавить выбранное исполнение и изменить количество: корзина сохраняет конкретный артикул.",
    "Оформить заказ с именем получателя: состав и сумма появляются в истории.",
    "Перезагрузить страницу: заказ и оставшиеся учебные остатки сохраняются.",
    "Попытаться оформить больше доступного количества: остаток не становится отрицательным."
  ],
  "sample": {
    "headers": [
      "Действие",
      "Наблюдаемый результат"
    ],
    "rows": [
      [
        "1",
        "Добавить выбранное исполнение и изменить количество: корзина сохраняет конкретный артикул."
      ],
      [
        "2",
        "Оформить заказ с именем получателя: состав и сумма появляются в истории."
      ],
      [
        "3",
        "Перезагрузить страницу: заказ и оставшиеся учебные остатки сохраняются."
      ],
      [
        "4",
        "Попытаться оформить больше доступного количества: остаток не становится отрицательным."
      ]
    ]
  },
  "sampleNote": "Самостоятельный проект на подготовленных исходных данных. Действия выполняются локально.",
  "caseStudy": {
    "role": "Проектирование и разработка сайта",
    "contribution": "Собрала предметный ассортимент, корзину, учет вариантов и локальных остатков, сохранение заказа и выгрузку состава.",
    "objective": "Уникальные изделия заканчиваются в локальном каталоге после оформления.",
    "problem": "У авторского предмета важен конкретный экземпляр. Кнопка «еще одну» не должна создавать несуществующую копию.",
    "result": "Одну чашку можно оформить один раз в этом локальном наборе. После перезагрузки повторная покупка того же экземпляра блокируется до явного сброса проекта.",
    "deliverables": [
      "Небольшой ассортимент",
      "Сохраняемый результат взаимодействия",
      "Исходные данные и порядок самостоятельной проверки"
    ],
    "blocks": [
      {
        "type": "text",
        "title": "Единственный экземпляр проверяется дважды",
        "text": "Задала каждому изделию остаток один. Корзина проверяет его при добавлении и еще раз при оформлении; после заказа доступность сохраняется в браузере. Настоящий многопользовательский резерв здесь не заявляется."
      },
      {
        "type": "text",
        "title": "После покупки одного экземпляра",
        "text": "Если единственную чашку уже оформили, повторное добавление того же артикула не даёт новый заказ. Перезагрузка страницы сохраняет использованный остаток в этом браузере."
      },
      {
        "type": "callout",
        "title": "Граница работы",
        "text": "Цены и остатки относятся к самостоятельному проекту. Оплаты и доставки нет; хранилище браузера не заменяет серверный учет магазина."
      }
    ]
  },
  "deliverable": {
    "type": "website",
    "entry": "/catalogue/deliverables/p25-c03/index.html",
    "label": "Открыть работающий результат",
    "files": [
      {
        "path": "/catalogue/deliverables/p25-c03/index.html",
        "name": "Интерактивный результат",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p25-c03/source.json",
        "name": "Исходные условия и модель",
        "mimeType": "application/json"
      },
      {
        "path": "/catalogue/deliverables/p25-c03/README.html",
        "name": "Повторить проверку",
        "mimeType": "text/html"
      },
      {
        "path": "/catalogue/deliverables/p25-c03/starter-data.json",
        "name": "Исходный набор для повторного использования",
        "mimeType": "application/json"
      }
    ],
    "summary": "Одну чашку можно оформить один раз в этом локальном наборе. После перезагрузки повторная покупка того же экземпляра блокируется до явного сброса проекта."
  },
  "takeaway": "Одну чашку можно оформить один раз в этом локальном наборе. После перезагрузки повторная покупка того же экземпляра блокируется до явного сброса проекта.",
  "capabilities": [
    "completed_website"
  ],
  "externalConnections": []
}
