https://github.com/algrvvv/laraveldockvault-api
REST API на Laravel с использованием Docker, JWT-Auth, PostrgreSQL
https://github.com/algrvvv/laraveldockvault-api
docker jwt-auth laravel nginx php postgresql rest-api
Last synced: 2 months ago
JSON representation
REST API на Laravel с использованием Docker, JWT-Auth, PostrgreSQL
- Host: GitHub
- URL: https://github.com/algrvvv/laraveldockvault-api
- Owner: algrvvv
- Created: 2024-01-03T11:20:27.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-01-05T16:28:11.000Z (over 1 year ago)
- Last Synced: 2025-01-21T04:12:57.590Z (4 months ago)
- Topics: docker, jwt-auth, laravel, nginx, php, postgresql, rest-api
- Language: PHP
- Homepage:
- Size: 104 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## About LaravelDockVault-API
LaravelDockVault-API - простенький REST API на основе Laravel
и с применением технологии контейнеризации Docker и с использованием nginx в качестве веб-сервера.## Описание стека технологий
- Laravel Framework
- Версия: 10.x
- Элегантный синтаксис для удобного и быстрого программирования.
- Docker
- Контейнеризация приложения для изолированного и консистентного развертывания.
- Управление зависимостями и окружением в контейнерах для обеспечения переносимости.
- nginx
- Использование nginx в качестве веб-сервера для обеспечения эффективного проксирования запросов.
- JWT Аутентификация
- JSON Web Token для безопасной и эффективной аутентификации.
- Обмен данных между сервером и клиентом с использованием подписанных токенов.
- PostgreSQL
- Реляционная база данных.
- Высокая производительность и надежность для хранения и управления данными.
- REST API
- Разработка API, следующего принципам REST.## Установка
> ВАЖНО ОТМЕТИТЬ!
Если вы запускаете проект с ОС WINDOWS, то скорее всего
у вас будет достаточная задержка между запросам и командами artisan.
Решением будет использование WSL и развертывание проект там```bash
$ git clone https://github.com/algrvvv/LaravelDockVault-API.git
$ cd LaravelDockVault-API
# если win
$ ./setup-docker.bat
# если linux
$ chmod +x setup-docker.sh
$ ./setup-docker.sh
```## Подключение к базе данных
Для подключения к бд и проверки всех ваших записей есть два способа.
Первый:
```bash
$ make psql
# либо
$ docker exec -it ldv_db psql -U
# по дефолту username = postgres
```
После этого в консоли можно написать, к примеру, `\dt`, чтобы
увидеть все зависимости или
`select * from movies;`, чтобы
вывести все фильмы.## Работа с API
```http request
GET http://localhost:8876/api/auth/login
```
Данные для входа:
```json
{
"email": "[email protected]",
"password": "password"
}
```После этого вам будет выдан JWT токен, а вместе с ним доступ
к следующим запросам:| Method | Path | Action | Description |
|:------:|:-----------------:|:-------:|:-------------------------------:|
| GET | /api/auth/user | user | Вывод информации о пользователе |
| POST | /api/auth/refresh | refresh | Обновление токена |
| POST | /api/auth/logout | logout | Выход из аккаунта |
| GET | /api/movies | index | Вывод всех фильмов |
| GET | /api/movies/{id} | show | Вывод фильма по айди |
| POST | /api/movies | store | Добавление фильма |
| PATCH | /api/movies/{id} | update | Частичное обновление данных |
| PUT | /api/movies/{id} | update | Полное обновление данных |
| DELETE | /api/movies/{id} | destroy | Удаление фильма |