IgoriLLa-lab/test-api.my

★ 0Forks 0PHPGitHub ↗Compare

README

php artisan l5-swagger:generate запустить команду после добавления аннотаций

Тестовое задание на позицию php разработчика

  • Разработать REST API для записной книжки . Примерная структура методов:
1.1. GET /api/v1/notebook/
1.2. POST /api/v1/notebook/
1.3. GET /api/v1/notebook/<id>/
1.4. POST /api/v1/notebook/<id>/
1.5. DELETE /api/v1/notebook/<id>/

Поля для POST запискной книжки:

1. ФИО (обязательное)
2. Компания
3. Телефон (обязательное)
4. Email (обязательное)
5. Дата рождения 
6. Фото
  • Нужна возможность выводить информацию в списке по странично
  • Так же напишите нам, как вы тестировали результат своей работы.
  • Какие используете инструменты и как вы осуществляете тестирование.
  • Дополнительным плюсом будет: Финальный билд приложения должен быть запускаться из Docker контейнера (хотябы с минимальной конфигурацией)

Решение

Технологии:

-Laravel Framework 9.24.0. -PHP 8.1. -OpenServer 5.4.2. -Apache 2.4. -MySQL 8.0 (имя базы данных test_api_a). -Postman для проверки API. -Swagger для документтирвоания методов Api (http://test-api.my/api/documentation#/Notebook).

1.1.(GET) http://test-api.my/api/v1/notebook 

Метод получения всех записей из записной книги, выводятся по 20 записей на страницу (сделана пагиниция данных http://test-api.my/api/v1/notebook?page=21).
1.2.(POST) http://test-api.my/api/v1/notebook 

Метод добавления записи в записную книгу, все поля являются обязательными для заполнения.
1.3.(GET) http://test-api.my/api/v1/notebook/{id}

Метод вывода записи из записной книги по ee id.
1.4.(PUT) http://test-api.my/api/v1/notebook/{id}

Метод измения записи из записной книги по ee id, все поля являются обязательными для заполения (изменяются все поля не путать с PATCH).
1.5.(DELETE) http://test-api.my/api/v1/notebook/{id}

Метод удаления записи из телефонной книги по ее id.

Доолнительно:

-Версионирования Api -Миграции баз данных -Заполнение фейковыми данными базы данных -Валидация данных -Все тестирование проводилось в ручном режиме на предмет работы роутов Api -На данный момент ведется работа по настройке проекта в докер контенере (на данный момент установлен докер Desktop для Windows)

Contributors

IgoriLLa-lab

Issues