Фронтенд single-page Vue2 приложение
7 000 руб. за проект
•
безналичный расчёт, электронные деньги
Требования:
{
“data”:[{“field1”:”value1”,”field2”:”value2”,...},...],
”errors”:{
“general”:[“err1”,”err2”,...],
”fields”:{“field1”:”error1”,“field2”:”error2”,...}
},
“meta”:{}
}
data - содержит строки ответа
meta - содержит доп. данные(количество строк ответа, общее количество строк, страницу, количество элементов на страницу и т.п.)
Формат запроса: json
параметры GET запросов для пагинации, фильтрации, сортировки:
- Развернуть Vue2 с Webpack(vuex, Vue-router). Использовать стандартный репозиторий vue2.
- Через bower подключить bootstrap последней стабильной версии, jquery.menu и настроить сборку библиотек в webpack.
- не модифицировать файлы библиотек
- сборка должна осуществляться при помощи Webpack
- предоставить бекенд-мок скрипты
- Авторизация/Регистрация пустая страница с 3 полями(“номер телефона”, “пароль”, “повтор пароля”.)
- если введён существующий номер телефона, показываем поле “пароль”, фронт валидация формата номера
- если номера на беке нет, то показываем 2 поля “пароль” и “повтор пароля”. валидация совпадения полей
- после регистрации/авторизации кидаем на страницу дашборд
- при неудаче пишем ошибки мелким красным шрифтом под полями, формой
- Страница списка продуктов и создания редактирования:
- левая часть страницы: форма создания/редактирования продукта. Валидация: все поля обязательны к заполнению, название до 100 символов, описание до 500.
- правая часть страницы: таблица продуктов с пагинацией/сортировкой. Сортировка должна быть по названию, описанию, применить можно несколько сортировок, порядок должен учитываться.
- до авторизации: показывает одну ссылку на страницу входа
- после авторизации: показывает ссылки на страницу выхода, страницу продуктов.
- Пользователь - id, Имя, массив id ролей.
- Роль - id(уникальная строка), название, список доступных id пермишенов(уникальных строк).
- Продукт - название, изображение, описание.
- GET /users/check/{номерТелефонаТолькоЦифры} проверка номера телефона
- POST /users/login - авторизация(логин, пароль)
- POST /users/logout - выход
- POST /users/registration авторизация(логин, пароль, повтор пароля)
- GET,POST,PUT,DELETE /products стандартный набор CRUD для продуктов
- GET,POST,PUT,DELETE /images стандартный набор CRUD для изображений.
{
“data”:[{“field1”:”value1”,”field2”:”value2”,...},...],
”errors”:{
“general”:[“err1”,”err2”,...],
”fields”:{“field1”:”error1”,“field2”:”error2”,...}
},
“meta”:{}
}
data - содержит строки ответа
meta - содержит доп. данные(количество строк ответа, общее количество строк, страницу, количество элементов на страницу и т.п.)
Формат запроса: json
параметры GET запросов для пагинации, фильтрации, сортировки:
- фильтры
- filters=[{“property”:”concreteProperty”,”value”:”concreteValue”,”operator”:”concreteOperator”},{“property”:”concreteProperty2”,”value”:”concreteValue2”,”operator”:”concreteOperator2”}]
- сортировка
- sorts=[{“property”:”concreteProperty1”,”direction”:”ASC”},{“property”:”concreteProperty2”,”value”:”DESC”}]
- page=12345
- limit=5
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.