You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Artem Shkilev ae46f884bf
add create app key docker
2 years ago
app init 2 years ago
bootstrap init 2 years ago
config init 2 years ago
database init 2 years ago
docker add create app key docker 2 years ago
public init 2 years ago
resources init 2 years ago
routes init 2 years ago
storage init 2 years ago
tests fix docker build 2 years ago
.editorconfig init 2 years ago
.env.example init 2 years ago
.gitattributes init 2 years ago
.gitignore init 2 years ago
.styleci.yml init 2 years ago
API.png init 2 years ago
README.md fix readme 2 years ago
artisan init 2 years ago
composer.json init 2 years ago
composer.lock init 2 years ago
docker-compose.yml fix docker build 2 years ago
package.json init 2 years ago
phpunit.xml init 2 years ago
server.php init 2 years ago
webpack.mix.js init 2 years ago

README.md

Easy gallery cloud API

Простое API позволяющее содержать файлы на удаленном сервере и обращаться к ним по неизменяемым адресам. Разрабатывалось как решение под независимые хранилища. Выложена урезанная копия работающая с одним хранилищем. Так же целенаправленно отключена авторизация. Демонстрационный проект, однако полностью рабочий. Работает полностью без БД, это сервис, предоставляющий лишь унифицированный доступ к файлам.

Установка

Можно использовать установив как сайт, либо можно установить как docker-compose. Для простой установки можно выполнить

git clone https://source.net-bit.ru/Misterzym/Easy-gallery-cloud-API.git
cd Easy-gallery-cloud-API
docker-compose up -d

Перед запуском сборки, можно настроить свои файловые хранилища в .env файле, по умолчанию будет использоваться файловая система. Однако включен и установлен пакет, позволяющий использовать s3 в качестве места хранения, так как именно для него он и разрабатывался.

После сборки будут развернуты 2 образа, php-fpm и nginx, на 8010 порту можно будет открыть документацию.

Настройки для .env

  • ALLOW_MIME_TYPES=jpeg,png (доступные расширения файлов для загрузки)
  • GALLERY_PREFIX="/gallery/" (основной префикс, внутри которой будет хранить файлы API)

Использование

Так как проект представляет собой голый API - удобнее всего будет пользоваться им из идущего в комплекте Swagger, достаточно открыть его по адресу /api/documentation. Из проекта удалена авторизация, по этому для проверки работы не потребуется генерировать токены и прочее. Названия и описания методов очень точно и емко описывают их работу, а все передаваемые данные подписаны, для простоты понимания.

API.png

Тесты

Проект полностью покрыт unit тестами, для полноты охвата использовались интеграционные тесты, которые проверяют не просто работу отдельных функций, а целиком работу отдельных endpoint'ов API.