sushishop

1.0.0 • Public • Published

Суши Шоп

Десктопный, планшетный и мобильный прототипы.

Структура сайта

/ — Главная страница

/catalog/ — Редирект на категорию по умолчанию

/catalog/<category>/ — Список товаров в категории

/catalog/<category>/<product>/ — Карточка товара

/i/ — Профиль с настройками

/i/history — История заказов

/actions/ — Список акций

/actions/<action> — Карточка акции

/journal/ — Список записей в журнале

/journal/<category>/ — Список записей в журнале по тегу

/journal/<category>/<article>/ — Карточка записи в журнале

/shops/ — Список магазинов

/company/ — Карточка компании

/career/ — Карточка работы

/order/ — Оформление заказа

Апи

/api/<method>?<parametrs> — адрес обработки поступающих запросов.

Список методов

banners

Возвращает список баннеров

[
    {
        id: 1,
        label_image: 'swagset-label.png',
        product_image: 'swagset-product.png',
        bg_image: 'swagset-bg.jpg',
        product_id: 1
        
    }
]

catalog

Возвращает список категорий

[
    {
        id: 1, // индентификатор категории
        alt: "pizza", // адрес страницы
        name: "Пицца", // название
        image_small: "pizza-small.png", // маленькая картинка
        image_medium: "pizza-big.png", // большая картинка
        count_products: 34, // количество товаров
        products: [ // товары категории, доступен с параметром get_products
            { id: 1, ... },
            ...
        ],
        tags: [
            { id: 1, name: "Лёгкая" }
        ]
    }
]

Доступные параметры

ключ описание
category_id поиск по id
category_alt поиск по ссылке
get_products возвращат категории со списком товаров, доступные поля: id, alt, name, image_small, image_medium, image_big, price, price_old, categoryId, weight, tags
get_products_limit количество продуктов для категории, доступен только с get_products

product

Возвращает список товаров

[
    {
        "id": 1,
        "name": "Маргарита",
        "alt": "margarita",
        "image_small": "margarita-small.png",
        "image_medium": "margarita-medium.png",
        "image_big": "margarita-big.png",
        "price": 299.1,
        "price_old": 199,
        "category": 1,
        "tags": [ 1, ... ],
        "label": "star", // бейдж, доступны: star, veg, hot, new, discount
        "weight": 500, // вес, в граммах
        "count": 20, // количество эллементов, для наборов
        "part": "Сыр моцарелла, ...", // состав
        "sauce": [ // соусы
            {
                "id": 1,
                "name": "Соевый"
            }
        ],
        "bake": 30,
        "toppings_max": 3, // макс. количество выбранных топпингов
        "toppings": [ // список топингов
            {
                "id": 1,
                "name": "Авокадо",
                "price": 15,
            },
            ...
        ],
        food_value: [ // состав
            {
                "name": "Белки",
                "notation": "г",
                "value": 15,
                "value_max": 108
            },
            ...
        ]
    }
]

Доступные параметры

ключ описание
product_id поиск по id
product_alt поиск по ссылке
product_limit количество
product_category пренадлежащие категории
shop_id поиск по магазину

city

Возвращает список городов и регионов

{
    city: [
        {
            id: 2,
            name: 'Всеволожск',
            group_id: 1, // группа, если город находится в группе
            isChange: true // город выбранный по умолчанию
        }
    ],
    groups: [
        {
            id: 1,
            name: 'Ленинградская область'
        }
    ],
    sort: [
        {
            type: 'city',
            id: 1
        },
        {
            type: 'group',
            id: 1
        }
    ]
}

shops

Возвращает список магазинов и групп

{
    shops: [
        {
            id: 1,
            adres: "Невский проспект, 5",
            geo_lat: 40.72,
            geo_lng: -73.96,
            phone: "+79992006971",
            group_id: 1,
            is_new: true,
            is_delivery: true,
            mode_from: "10-00",
            mode_to: "20-00",
            city_id: 1,
            isChange: true // магазин выбранный по умолчанию
        }
    ],
    groups: [
        {
            id: 1,
            name: "Купчино",
            color: "#000"
        }
    ]
}

Доступные параметры

ключ описание
shop_id поиск по id
city_id поиск по городу

journal

Возвращает список анонсов

[
    {
        id: 1,
        alt: "open-two-narian-mare",
        name: "Открываем два СушиШопа в Нарьян-Маре",
        descr: "В карю холодных рек ...",
        category: [ 1, 2 ],
        image_medium: "open-two-narian-mare-medium.jpg",
        bg_to: "#000",
        bg_from: "#fff"
    }
]

Доступные параметры

ключ описание
category_id поиск по категории
limit количество
offset смещение

journal.category

Возвращает список категорий журнала

[
    {
        id: 1,
        alt: "recipes",
        name: "Рецепты"
    }
]

journal.article

Возвращает статью из журнала

[
    {
        id: 1,
        alt: "sushi-burito",
        content: "<img src=\"burito.jpg\">...",
        product_id: 1,
        next_article: {
            id: 2,
            alt: "kartofelnye-krokety",
            image_small: "kartofelnye-krokety-small.jpg",
            name: "Картофельные крокеты за 10 минут"
        }
    }
]

Доступные параметры

ключ описание
article_id поиск по id
article_alt поиск по ссылке

company

Возвращает данные для страницы компании

{
    growth: [
        {
            year: 2011,
            diameter: 10, // в пикселях
            count: 5,
            is_forecast: true
        }
    ],
    own_recipes: 80, // процент собственных рецептов
    joined_staff_month: 472, // новопришедших сотрудников,
    initial_investment: 1300000, // первоначальные инвестиции, руб
    average_return: 6, // средняя окупаемость, месяцев
    successful_franchisors: 200 // успешных франчайзиров
}

vacancies

Возвращает вакансии

[
    {
        id: 1,
        name: 'Су-шеф',
        city_id: 1,
        price: 40000,
        price_to: 135,
        price_from: 150,
        price_value: 'ч', // ч, смена,
        recruiter: {
            name: "Иннокентий Христорождественский",
            phone: "+79999876599"
        },
        requirements: [ // Требования
            "опыт работы ..."
        ],
        duties: [ // Обязанности
            "Организация работы ..."
        ],
        conditions: [ // Условия
            "Бесплатное питание"
        ]
    }
]

Доступные параметры

ключ описание
city_id поиск по городу

success_stories

Выводит список историй успеха

[
    {
        id: 1,
        name: "Иннокентий Христорождественский",
        post: "Региональный управляющий",
        in_team: "В команде с октября 2011 г.",
        content: "<p>Пришёл в компанию</p>",
        image_small: "pasha-small.jpg",
        image_big: "pasha-big.jpg"
    }
]

actions

Выводит список акций

[
    {
        id: 1,
        name: "Конкурс фуд-фото в инстаграмме",
        image: "konkurs-foodfooto.jpg"
    }
]

Доступные параметры

ключ описание
city_id поиск по городу

form

Отправляет форму

{
    status: "success" // success, error
}

Доступные параметры

ключ описание
name название формы (латиницей)
value объект заполненных полей (формата ключ: значение)

order

Оформление заказа

{
    status: "success" // success, error,
    order_id: 1234567890,
    pay_link: "https://alfa..." 
}

Список продуктов

[
    {
        product_id: 1,
        count: 1,
        toppings: [ 1 ],
        sauce_id: 1,
    }
]

Доступные параметры

ключ описание
shop_id id города
products список продуктов
delivery адрес доставки
persons количество персон
phone телефон
cook_time приготовить ко времени
pay_id id способа оплаты
fio имя
phone телефон

register

Регистрация

{
    status: "success" // success, error, phone_used — телефон есть в базе
}

Доступные параметры

ключ описание
fio имя
phone телефон

register.confirm

Подтверждение регистрации

{
    status: "success" // success, error
}

Доступные параметры

ключ описание
code код подтверждения

auth

Авторизация

{
    status: "success" // success, error
}

Доступные параметры

ключ описание
phone телефон
password пароль

change_password

Смена пароля

{
    status: "success" // success, error
}

Доступные параметры

ключ описание
password_old старый пароль
password_new новый пароль

profile

Профиль

{
    name: "Артём Шкуренко",
    phones: [
        "+79992006971",
        "+79002546984"
    ],
    discount: 10 // проценты
}

order_history

История заказов

[
    {
        id: 123456789,
        date: "2015-12-15",
        products: [
            {
                id: 1,
                name: "Спринг-ролл",
                count: 1,
                price: 290,
                toppings: [
                    {
                        id: 1,
                        name: "Огурец"
                    }
                ],
                sauce: {
                    id: 1,
                    name: "Спайси соус"
                },
                bake: true
            }
        ],
        city_id: 1,
        adres: "Шлиссельбургский пр., 46" // для доставки
    }
]

Readme

Keywords

none

Package Sidebar

Install

npm i sushishop

Weekly Downloads

1

Version

1.0.0

License

ISC

Last publish

Collaborators

  • sushishop