
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
nodezoo-system
Advanced tools

Nodezoo is a search engine for node modules. The full system currently fetches data from NPM, Github and Travis-CI. It is an example of a real-world service built using Node.js micro-services. Each micro-service is published in its own github repository along with all of the necessary config to run the system locally or live . The codebase is intended to be used as an example, and as a starting point for your own projects.
This repo contains all the required config to spin up a Nodezoo system. The included services represents a production level micro-services system. Follow the instructions below to set up the system on your machine.


To make use of this repo you need to have fuge installed, you can do this via npm,
npm install -g fuge
Note: Fuge 0.6.1 or later is required
You need the ability to run docker and for it to be active in your session to run this system. Please see Docker's instructions for more detail on how to install it for your system. To test if docker is available for fuge to make use of, type the following into your terminal,
docker ps -a
If you are prompted with an error saying cannot connect to docker daemon, run the following command:
docker-machine start default
If this command doesn't return a TLS connection issue you are good to go otherwise the following command should connect Docker to your session,
eval $(docker-machine env default)
Try the docker command above again, you should now see some form of output and not the original TLS error.
Running this system causes containers to be created and ran via docker. If you need to stop and/or remove docker containers, the commands are as follows
docker stop $(docker ps -a)
docker rm $(docker ps -a)
Each dependent repo will be cloned automatically, to get started clone this repo locally,
git clone https://github.com/nodezoo/nodezoo-system
In the ./nodezoo-system folder run,
npm install
Copy the ./sample.env file to ./system.env and edit the environment variables as needed.
In the ./nodezoo-system folder run,
fuge build fuge/system.yml
For the GitHub service to work you must create the file system.env in the fuge/env directory and copy the entire contents of sample.env to it. You then insert your GitHub personal access token into system.env.
In the ./nodezoo-system folder, in a second terminal window run,
docker-compose -f fuge/infrastructure.yml up
In the ./nodezoo-system folder run,
fuge shell fuge/system.yml
Note: You must run infrastructure using infrastructure.yml before running the system.
Note: The Nodezoo web app is available at 8000.
To set up a development environment with cloned copies of all the repositories run :
make dev-setup
All the services will be checked out into ./services and will use npm link to place symlinks
in the node_modules folder.
The NodeZoo org encourages open and safe participation.
If you feel you can help in any way, be it with documentation, examples, extra testing, or new features please get in touch.
Copyright (c) 2016, Dean McDonnell and other contributors. Licensed under MIT.
FAQs
A fuge config for NodeZoo
The npm package nodezoo-system receives a total of 1 weekly downloads. As such, nodezoo-system popularity was classified as not popular.
We found that nodezoo-system demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.