Skip to content

slidewiki/nlp-store-service

Repository files navigation

NLP Store Microservice

Build Status License Language Framework Webserver Coverage Status

This microservice implements the storage layer of the NLP Microservice. When a deck is updated, this service requests the NLP results from the NLP Microservice and stores them for later use.

Setup


The following commands are helpful when setting up the service.

// add a job, to compute NLP results, for every deck in mongodb in the agenda queue
docker run -it IMAGE_TAG bin/scheduleJobs

// delete scheduled NLP jobs
docker run -it IMAGE_TAG bin/deleteJobs

// delete all indexed NLP results from SOLR
docker run -it IMAGE_TAG bin/delete

Install NodeJS


Please visit the wiki at Install NodeJS.

Where to start developing?


Have a look at the file application/server.js, that is the main routine of this service. Follow the require(...) statements to get trough the entire code in the right order.

When you want to have a look at tests, head over to the folder application/tests/. We're using Mocha and Chai for our purposes.

Since we're developing our application with NodeJS, we're using npm as a task runner. Have a look at the /application/package.json script section to obtain an overview of available commands. Some are:

# Run syntax check and lint your code
npm run lint

# Run unit tests
npm run unit:test

# Start the application
npm start
...

You want to checkout this cool service? Simply start the service and head over to: http://localhost:3000/documentation. We're using swagger to have this super cool API discrovery/documentation tool. BTW.: Did you already discoverd the super easy swagger integration inside /application/routes.js? Tags 'api' and 'description' were everything we needed to add.

Use Docker to run/test your application


You can use Docker to build, test and run your application locally. Simply edit the Dockerfile and run:

docker build -t MY_IMAGE_TAG ./
docker run -it --rm -p 8880:3000 MY_IMAGE_TAG

Alternatively you can use docker-compose to run your application in conjunction with a (local) mongodb instance. Simply execute:

docker-compose up -d