Простой API для магазина на Java/Kotlin
1 500 руб. за проект
Здравствуйте уважаемые исполнители, предлагаю простую задачку:
1. REST API
SQL CRUD
Суть работы магазина:
Пользователь создает заказ при этом выбирая товар, поставщика и пункт доставки (представлен в виде адреса).
Требуется сделать следующие endpoint-ы:
1.1. Добавление нового заказа.
Данные для добавления:
- Дата заказа.
- Товар. Представлен в виде справочника (см. ниже).
- Поставщик. Представлен в виде справочника (см. ниже).
- Планируемая дата доставки.
- Пункт доставки. Представлен в виде справочника (см. ниже).
В качестве ответа нужно вывести:
- Идентификатор заказа.
- Статус заказа. Представлен в виде справочника (см. ниже).
Выполнить валидацию - планируемая дата доставки должна быть позже даты заказа.
При добавлении заказа следует установить ему статус "доставка".
1.2. Завершение доставки товара.
Установить статус "доставлен" и заполнить реальную дату доставки.
В качестве данных запроса следует отправлять:
- id заказа.
- реальную дату доставки.
Ответ:
- Идентификатор заказа.
- Статус заказа.
Валидация: Данное действие допустимо только для заказа со статусом "доставка".
1.3. Заказ получен.
Сменить статус на "получен" и заполнить дату получения.
Запрос:
- id заказа.
- дата получения.
Ответ:
- Идентификатор заказа.
- Статус заказа.
Валидация: Действие допустимо для статуса "доставлен".
1.4. Заказ отменен.
Удалить запись о заказе.
Запрос:
- id заказа.
Ответ:
- Идентификатор заказа.
- Статус заказа - "отменен".
1.5. Получение информации по заказу.
Запрос:
- id заказа.
Ответ: полная информация по заказу.
Предусмотреть соответствующие контроллеры, сервисы и CRUD репозитории.
1.6. Создать таблицу заказов в БД
1.7. Добавить и заполнить данными нужные для реализации справочники:
- Товар: идентификатор, наименование.
- Поставщик: идентификатор, наименование.
- Пункт доставки: идентификатор, адрес.
- Статус заказа: идентификатор, наименование.
1. REST API
SQL CRUD
Суть работы магазина:
Пользователь создает заказ при этом выбирая товар, поставщика и пункт доставки (представлен в виде адреса).
Требуется сделать следующие endpoint-ы:
1.1. Добавление нового заказа.
Данные для добавления:
- Дата заказа.
- Товар. Представлен в виде справочника (см. ниже).
- Поставщик. Представлен в виде справочника (см. ниже).
- Планируемая дата доставки.
- Пункт доставки. Представлен в виде справочника (см. ниже).
В качестве ответа нужно вывести:
- Идентификатор заказа.
- Статус заказа. Представлен в виде справочника (см. ниже).
Выполнить валидацию - планируемая дата доставки должна быть позже даты заказа.
При добавлении заказа следует установить ему статус "доставка".
1.2. Завершение доставки товара.
Установить статус "доставлен" и заполнить реальную дату доставки.
В качестве данных запроса следует отправлять:
- id заказа.
- реальную дату доставки.
Ответ:
- Идентификатор заказа.
- Статус заказа.
Валидация: Данное действие допустимо только для заказа со статусом "доставка".
1.3. Заказ получен.
Сменить статус на "получен" и заполнить дату получения.
Запрос:
- id заказа.
- дата получения.
Ответ:
- Идентификатор заказа.
- Статус заказа.
Валидация: Действие допустимо для статуса "доставлен".
1.4. Заказ отменен.
Удалить запись о заказе.
Запрос:
- id заказа.
Ответ:
- Идентификатор заказа.
- Статус заказа - "отменен".
1.5. Получение информации по заказу.
Запрос:
- id заказа.
Ответ: полная информация по заказу.
Предусмотреть соответствующие контроллеры, сервисы и CRUD репозитории.
1.6. Создать таблицу заказов в БД
1.7. Добавить и заполнить данными нужные для реализации справочники:
- Товар: идентификатор, наименование.
- Поставщик: идентификатор, наименование.
- Пункт доставки: идентификатор, адрес.
- Статус заказа: идентификатор, наименование.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.