Graphviz graphs with imgur link instantly in your slack channel, Awesome!
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
dist
node-and-graphviz-docker
readme_resources
test
.gitignore
Dockerfile
LICENSE
PRIVACY.MD
README.MD
circle.yml
package.json
tsconfig.json
tslint.json

README.MD

graphvizzer_logo Graphvizzer Add to Slack

Docker Pulls CircleCI Coverage Master Branch

Makes graphs with imgur links directly in your chat channel, instantly, using the popular DOT notation.

View the production version at https://graphvizzer.objectivetruth.ca

View the stage version at http://graphvizzer.stage.objectivetruth.ca

Example Usage

History

I love diagram.. as you can see from this repo. Software is created by people and as the team grows, communication becomes more and more difficult. I use Graphviz alot to communicate ideas and reduce ambiguity. I hope you'll find it helpful too!

replacing the word warfare with software

Fleet Marine Force Manual 1, Warfighting

“Software is a complex endeavor. It is shaped by the human will. It is characterized by friction, uncertainty, fluidity, danger and disorder. While the nature of software is constant, it remains unpredictable, and is affected by a mix of physical, moral and mental factors. While software has the characteristics of both art and science, it is primarily shaped by human experience”.

Architecture

Uses Play2! Scala to communicate between imgur and Slack

Deployment Diagram

Deployment Diagram

Interaction Diagram

Interaction Diagram

Project Setup and Execution

Using Nodejs


  1. Download all dependencies needed using npm install.

  2. The dot command must be runnable from the command line. This utility comes with Graphvizz, which can be installed the following way:

    Ubuntu Install
    $ apt-get install -y graphviz
    
    OSX Install (Homebrew required)
    $ brew install graphviz
    
  3. Start the MongoDB database using the mongod command.

    Note: If MongoDB is not detected, an in-memory MongoDB instance will be created; however, for full functinoality, the above step is preferred.

  4. Run local server by using npm start.

  5. View at localhost:9000 in your browser.

Integration tests

$ npm test

Building the docker

You must be in the project root directory in order to execute the commands below.

  1. Build the Docker image
$ docker build -t objectivetruth/graphvizzer .
  1. Run the Docker image
$ docker run -p 9000:9000 objectivetruth/graphvizzer

License

GNU General Public License v3.0