npm install nodezoo-system![Nodezoo][Logo]
- __Lead:__ [Dean McDonnell][Lead]
- __Sponsor:__ [nearForm][Sponsor]
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.
#### Nodezoo Search Page
![Search Page][searchPage]
- The search page shows a minimal, but adequate, amount of information about a module.
- Module description
- If it exists on NPM, GitHub or Travis-CI then their respective icons are shown, accompanied by its most recent build status if available
- The amount of watchers, stars and forks the modules repository has on GitHub
#### Nodezoo Information Page
![Information Page][infoPage]
- The information page is much more detailed than the search page, neatly displaying all of the important information regarding a module. If there is no NPM, GitHub or Travis-CI information available then the corresponding tile will not be visible. The three micro-services used to retrieve the data are:
- [nodezoo-npm][]
- [nodezoo-github][]
- [nodezoo-travis][]
```
npm install -g fuge
__Note:__ Fuge 0.6.1 or later is required
``
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)
``
git clone https://github.com/nodezoo/nodezoo-system
folder run,`
npm install
`$3
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
`$3
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.$3
In the ./nodezoo-system folder, in a second terminal window run,`
docker-compose -f fuge/infrastructure.yml up
`$3
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.Development
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- __[Code of Conduct][CoC]__
If you feel you can help in any way, be it with documentation, examples, extra testing, or new
features please get in touch.
[Logo]: https://raw.githubusercontent.com/nodezoo/nodezoo-org/master/assets/logo-nodezoo.png
[Lead]: https://github.com/mcdonnelldean
[Sponsor]: http://www.nearform.com/
[CoC]: https://github.com/nodezoo/nodezoo-org/blob/master/CoC.md
[Lic]: ./LICENSE
[Nodezoo]: https://github.com/rjrodger/nodezoo
[Concorda]: https://github.com/nearform/concorda
[Vidi]: https://github.com/vidi-insights/vidi-dashboard
[docker]: https://docs.docker.com/engine/installation/
[searchPage]: https://github.com/nodezoo/nodezoo-org/blob/master/assets/search-page.png
[infoPage]: https://github.com/nodezoo/nodezoo-org/blob/master/assets/info-page.png
[nodezoo-npm]: https://github.com/nodezoo/nodezoo-npm
[nodezoo-github]: https://github.com/nodezoo/nodezoo-github
[nodezoo-travis]: https://github.com/nodezoo/nodezoo-travis