- Resize images using the super fast sharp libarary built with c++
- Utilize the project's simple RESTful API to proccess images on the fly
- Cache the previously processed images to cut the processing latency
This project is a light weight image image processing API that exposes image processing functionalities as endpoints over HTTP as a RESTFUL service that can be setup as a standalone service or as a third party in any application
The project uses a number of open source projects to work properly:
- TypeScript - a strongly typed programming language that builds on JavaScript
- node.js - evented I/O for the backend
- Express - fast node.js network app framework
- Jasmine - behavior-driven development framework for testing JavaScript code
Image processing API requires Node.js v10+ to run.
Install the dependencies and devDependencies and start the server.
cd image-processing
npm i
npm run start
$ npm run lint 'for running eslint code checking'
$ npm run clean 'for fixing prettier / eslint auto-fixable issues'
$ npm run jasmine 'for running test suites'
$ npm run build 'for compiling TS to JS'
$ npm run watch 'for compiling ts in watch watch mode'
$ npm run start 'for starting a production server'
$ npm run start:dev 'for starting a dev server with nodemon'
http://you_app_host/image?filename={image_name}
http://you_app_host/image?filename={image_name}&width={number}&height={number}
Distributed under the MIT License. See LICENSE.txt
for more information.