Node JS Image Delivery Microservice Challenge for OwnZones
For Docker instructions, look at the bottom of this file
For development, you will only need Node.js and a node global package, NPM, installed in your environement.
-
Just go on official Node.js website and download the installer. Also, be sure to have
git
available in your PATH,npm
might need it (You can find git here). -
You can install nodejs and npm easily with apt install, just run the following commands.
$ sudo apt install nodejs $ sudo apt install npm
-
You can find more information about the installation on the official Node.js website and the official NPM website.
If the installation was successful, you should be able to run the following command.
$ node --version
v8.11.3
$ npm --version
6.1.0
If you need to update npm
, you can make it using npm
! Cool right? After running the following command, just open again the command line and be happy.
$ npm install npm -g
$ git clone https://github.com/dragos-durlut/nodejs-image-delivery-microservice/
$ cd nodejs-image-delivery-microservice
$ npm install
No config file so far
$ npm run start
$ npm run-script build
$ npm test
To run the microsevice you will need to execute command npm run start
To see the stats you can go to http://localhost:3000/image/stats in Postman or in a broswer window. You should see something like this:
In order to get the resized image you call this address in Postman or in Web Browser: http://localhost:3000/image/eye.jpg/300×300
Important note: you must have the image in dist/images/original/
folder or you will get a 404 status.
You will get a 200 response along with the resized image:
You will also notice the creation of a folder that mathches thr requested resolution.
Run the docker command: docker-compose up --build
After docker finishes building we call this address: http://localhost:3000/image/eye.jpg/600x300
And then this address: http://localhost:3000/image/cat.jpg/600x300
And then this address: http://localhost:3000/image/dog.jpg/600x300
And then the stats address http://localhost:3000/stats/