Требования:
Приложение позволяет пользователям заказать пиццу. На странице каталога показаны доступные пиццы, при клике на любую из пицц, пользователь может увидеть информацию о конкретной пицце и добавить ее в корзину с топпингами.
В корзине пользователь может посмотреть выбранные пиццы и оформить заказ. При оформление заказа пользователь вводить персональные данные и оплачивает заказ.
В рамках задания мы не ограничиваем вас. Это может быть космическая/магическая доставка пиццы🍕 или клон любого существующего сервиса, тут мы полагаемся на вашу фантазию, также вы можете самостоятельно расширить требования задачи при желании.
Дизайн
https://www.figma.com/design/rtf8FFjkY084yTN81wsjsr/Задания-ШИФТ-Интенсив?node-id=0-1&t=12Jogxp0YHZpKRFg-0
https://www.figma.com/file/KsxWtBbM0Ni8e5c9aFBa8I/UI-Kit-ШИФТ?type=design&node-id=76-9676&mode=design&t=ppJ28OQPmP1ZBr9h-0
Api
My Website
Уровни выполнения:
- Легкий - ожидаемым результатом является создание страницы/экрана каталога пицц и модального окна/экрана конкретной пиццы:
- Реализована страница/экран каталога со списком пицц, список пицц получен с помощью запроса get /pizzas/catalog
- Реализовано модальное окно/экран конкретной пиццы
- Средний - ожидаемым результатом является реализации корзины и формы оформления заказа, в которые входят:
- Реализована страница/экран каталога со списком пицц, список пицц получен с помощью запроса get /pizzas/catalog
- Реализовано модальное окно/экран конкретной пиццы с возможностью добавление пиццы в корзину
- Реализована страница/экран корзины и форма оформления заказа
- Реализовано отображение результата оплаты
- Сложный -
- Флоу
- Реализована страница/экран каталога со списком пицц, список пицц получен с помощью запроса get /pizzas/catalog
- Реализовано модальное окно/экран конкретной пиццы с возможностью добавление пиццы в корзину
- Реализована страница/экран корзины и форма оформления заказа (если пользователь авторизован, подставить его данные из профиля)
- Реализовано отображение результата оплаты
- Личный кабинет
- Реализовать страницу/экран авторизации
- Реализовать страницу/экран личный кабинет
- Получение заказов с помощью запроса get /pizzas/orders
- Реализовать страницу/экран заказа
- Получение заказа с помощью запроса get /pizzas/orders/:id
- Отмена оплаты с помощью запроса post /cinema/order/cancel
- REST
- POST /auth/otp - запрос для создания otp кода
- POST /users/signin - запрос для авторизации пользователя
- POST /users/session - запрос для получения данных о пользователе
- PATCH /users/profile - запрос для изменения данных пользователя
- GET /pizzas/catalog - запрос для получения пицц
- POST /pizzas/payment - запрос для оплаты корзины
- GET /pizzas/orders - запрос для получения покупок пользователя
- GET /pizzas/orders/:id - запрос для получения покупки пользователя
- PUT /pizzas/order/cancel - запрос для отмены покупки
- GRAPHQL
- mutation createOtp - запрос для создания otp кода
- mutation signin - запрос для авторизации пользователя
- mutation updateProfile - запрос для изменения данных пользователя
- query me - запрос для получение данных о пользователе
- query getPizzasCatalog - запрос для получения пицц
- mutation createPizzaPayment- запрос для оплаты корзины
- query getPizzaOrders - запрос для получения покупок пользователя
- query getPizzaOrder - запрос для получения покупки пользователя
- query cancelPizzaOrder- запрос для отмены покупки