Skip to content

Latest commit

 

History

History
123 lines (67 loc) · 3.89 KB

File metadata and controls

123 lines (67 loc) · 3.89 KB

nodejs-image-delivery-microservice

Node JS Image Delivery Microservice Challenge for OwnZones

Development process described here:

Setup

Refactoring #1

Folder structure

Mongo DB & Stats page

Unit tests

Documentation & How to run

Docker, Node JS & MongoDB

DOCKER

For Docker instructions, look at the bottom of this file

Requirements

For development, you will only need Node.js and a node global package, NPM, installed in your environement.

Node

  • Node installation on Windows

    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).

  • Node installation on Ubuntu

    You can install nodejs and npm easily with apt install, just run the following commands.

    $ sudo apt install nodejs
    $ sudo apt install npm
    
  • Other Operating Systems

    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


Install

$ git clone https://github.com/dragos-durlut/nodejs-image-delivery-microservice/
$ cd nodejs-image-delivery-microservice
$ npm install

Configure app

No config file so far

Running the project

$ npm run start

Simple build for production

$ npm run-script build

Running the tests

$ npm test

How to RUN

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.


How to RUN with DOCKER

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/