test-php-rest-api-user/README.md

78 lines
3.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# test-php-rest-api-user
**Тестовое задание REST API на PHP**
## Установка / Запуск
### Первый способ (простой)
1. Открыть корневую директорию сайта (в которой файл `installed`)
2. Открыть консоль в данной директории
3. Выполнить комманду `php -S 0.0.0.0:8888`
4. Теперь сайт доступен по адресу [http://localhost:8888](http://localhost:8888)
### Второй способ (сложнее)
1. Установить `nginx` и `php-fpm`
2. Поместить содержимое сайта в нужную директорию
3. Настроить **nginx** так, как этот делается для **Wordpress**
4. Теперь сайт доступен по адресу который указан в nginx (обычно это [http://localhost:80](http://localhost:80))
## Конфигурация
Все необходимое для настройки и конфигурации сайта находится в директории `config`
### `0000.root.php`
Содержит базовую информацию о сайте (не важную для API)
### `0001.db.php`
Содержит настройки подключения к Базе Данных
### `0005.user.php`
Содержит конфигурацию для работы с пользователями
## Документация API
### [Postman](https://www.postman.com/material-observer-62618807/workspace/public-data/collection/37579698-ff75f993-cc82-4704-aea4-612718b8a06b?action=share&creator=37579698)
### POST `/api/v1/createUser`
Создание пользователя
Параметр | Описание
--- | ---
login | Обязательное поле (1-32 символа)
password | Обязательное поле (от 8 символов)
### POST `/api/v1/authUser`
Авторизация и получение токена
Параметр | Описание
--- | ---
login | Обязательное поле (1-32 символа)
password | Обязательное поле (от 8 символов)
### GET `/api/v1/getUser`
Получение информации о пользователе
Параметр | Описание
--- | ---
login | Обязательное поле (1-32 символа)
### PATCH `/api/v1/updateUserInfo`
Обновление поля info у пользователя
Параметр | Описание
--- | ---
token | Обязательное поле (токен, который выдали при авторизации)
newInfo | Обязательное поле (без ограничений)
### DELETE `/api/v1/deleteUser`
Удаление пользователя
Параметр | Описание
--- | ---
token | Обязательное поле (токен, который выдали при авторизации)