Skip to content

o-shabashov/gimly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Golang Image Manipulator Library, aka GIMLy

Многопоточное генерирование превью картинки с помощью Imagick::distort на основе матрицы искажений.

Зависимости

  • ImageMagick 6-ой версии. Потенциально можно и на 7, но нужно тогда подключить gopkg.in/gographics/imagick.v3/imagick а не v2 и немного изменить код.

Установка

  • Imagick, Ubuntu
sudo apt-get install libmagickwand-dev
  • Imagick, Mac
brew install imagemagick@6 --from-source

Запуск

Отредактируйте .env файл по своему усмотрению.

go run gimly.go

Гимли будет доступен по адресу http://localhost:8901

Run in Postman

Важно

  • При изменении JSON схемы запроса, лучше всего воспользоваться GoJson

Тестирование

go get github.com/xeipuuv/gojsonschema
go get github.com/smartystreets/goconvey
$GOPATH/bin/goconvey

Открыть в браузере http://localhost:8080

Тесты написаны с помощью GoConvey

Документация используемых библиотек

Опционально

TODO

  • Нормальная обработка ошибок - с помощью rest.Error()
  • Валидация запроса по JSON схеме
  • Кроп и поворот дизайна
  • Докер контейнер
  • Тесты
  • Разобраться с Glide, почему-то не устанавливает зависимости, пришлось использовать go get
  • Postman коллекция, лучше после тестов
  • Объявить об изменении JSON схемы: матрица искажений должна быть массивом, а не строкой, distortion_order стал числом
  • Нормальные коды ошибок, а не просто 500 на всё
  • Смещение слоёв относительно финального изображение
  • Возвращать error при вызове image.Composite()
  • Реализовать PartialDistortMatrix

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published