Skip to content
This repository has been archived by the owner on May 2, 2022. It is now read-only.
/ image-cache Public archive

Microservice for caching images from external storages (WebDAV or API). It can process images by applying simple transformations such as resizing, cropping and shifting.

License

Notifications You must be signed in to change notification settings

strider2038/image-cache

Repository files navigation

Image caching microservice

Build Status Coverage Status Scrutinizer Code Quality

SensioLabsInsight

Microservice for caching images from external storages (WebDAV or API). It can process images by applying simple transformations such as resizing, cropping and shifting.

Goals for version v1.0

  • Migrate to Symfony Dependency Injection component
  • File operations service
  • Refactor render methods in images (eliminate side effect in classes)
  • Refactor controllers and routing to use different image caches
  • Basic logging
  • Transformation classes refactoring (changing names and using flyweight pattern)
  • Image saving with options
  • Migrate to PSR-7 request and response interfaces (PSR like realisation)
  • Image writing to sources
  • Move processing configuration parsing into key parser
  • Functional testing
  • Yandex Static Map source
  • Tune console and IDE debug via docker, not ssh
  • Split ImageController to action classes
  • Split ImageCache class to ImageStorage and ImageCache
  • Router rewrites Request URI, eliminate location in controllers
  • Logging guzzle requests
  • Add CodeSniffer (rejected) and SensioLabs Insight to CI
  • Yandex.Disk source
  • Migrate to collections based on Doctrine ArrayCollection
  • Migrate to validation based on Symfony and Doctrine annotations
  • Shift transformation
  • Rotate transformation
  • Flip and flop transformations
  • Multipurpose interface to request geographical map images
  • Make user-friendly configuration of microservice
  • Move all todos to github issues
  • Automatically create cache directories
  • Support for building docker containers in Travis
  • Acceptance testing
  • Write project description in README.md

Goals for version v1.1

  • Performance optimization: configuration caching and/or compiling
  • Performance optimization: composer cache
  • Performance optimization: compiling to PHAR archive
  • Performance optimization: lazy services, validation cache
  • Refactor ImageParameters to be ignored while saving
  • Cache mechanism for source accessor
  • Add log level to configuration
  • Support for phpDocumentor
  • JPEG optimization by https://github.com/tjko/jpegoptim
  • Refactor HttpClientInterface to use object-based options
  • Migrate from supervisor to systemd daemons
  • Migrate to PHPUnit 7 when Phake will be updated

Ideas

  • Google map source (inspect licensing problems)
  • Yandex map marker
  • Layer support for GIF and PNG http://php.net/manual/ru/imagick.coalesceimages.php
  • Add referrer control to Security component
  • rename ImageExtractor and ImageWriter?
  • rename ImageExtractor::extractImage() and ImageWriter::insertImage()?
  • rename project to Image Caching Proxy Service?

About

Microservice for caching images from external storages (WebDAV or API). It can process images by applying simple transformations such as resizing, cropping and shifting.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published