- Установите NodeJS и NPM
- Клонируйте данный репозиторий на своё устройство
- В командной строке перейдите в папку
json-serverи запустите командуnpm install json-server --save-dev - Запустите сервер командой
node server.js
Данное приложение является продвинутой версией json-server. Для хранения данных он использует файл db.json, на основе которого и создаётся API этого сервера.
Основы работы с сервером описаны в документации.
В этот сервер добавлено несколько дополнительных возможностей:
- Авторизация
Доступ к изменению БД получают только авторизованные пользователи, обладающие токеном доступа к данным. Для авторизации необходимо отправить POST запрос на /login с телом:
{
"login": "user_name",
"password": "user_password"
}В ответе придёт JSON с полем accessToken, который даёт право изменять контент.
Список пользователей по умолчанию:
| User | Password |
|---|---|
| admin | pa$$word |
| parker | root666 |
- Защита методов
Неавторизованным пользователям недоступно изменение контента. Для того, чтобы выполнялись не GET запросы необходимо в заголовках запроса отправлять:
Authorization: Bearer <accessToken>- Хранение статических файлов
Для хранения статических файлов можно воспользоваться папкой public в корне сервера.
В рамках данного задания допустимо загружать изображения руками в папку public вместо сохранения с помощью запросов.
Запрещено:
- менять формат обмена текстовыми данными. Только JSON.
Разрешено:
- менять структуру данных
- менять код исходного сервера
- менять метод входа в систему
- использовать свой бэкенд
Если используется не исходный вариант сервера, то при сдаче работы необходимо описать свой вариант, а лучше приложить ссылку на него.