0.1.11-master.20190626224014 • Published 7 years ago

@atomist/org-visualizer v0.1.11-master.20190626224014

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
7 years ago

spider

@atomist/org-visualizer

Visualize aspects of your organization. See Rod Johnson's blog for discussion of the motivation.

Extensible, with out of the box support for the following queries:

  • TypeScript
  • Spring Boot (with Maven)
  • Docker
  • Library versions
  • Inclusion of a code of conduct

An example visualization, showing Docker images:

Docker image visualization

Running

Please use Node 10+.

First, install with npm i.

Next, build with npm run build

Next, npm link to create the spider binary.

Database setup

Creating the Database

Data about each repository is stored locally in Postgres.

Start Postgres, connect to it, and run the create.ddl script to set up the database. You can do this within the psql shell, or use the Postgres admin tool to create a database named org-viz and run all commands in that script after the line beginning with \connect.

Connecting to the Database

Configure the Postgres database details in client.confjg.json in your ~/.atomist:

{
  "sdm": {
    "postgres": {
      "user": "<postgres user>",
      "password": "<postgres password",
      "host": "<postgres host>",
      "port": "<postgres port>",
      "database": "org_wiz"
    }
  }
}

Other Dependencies

You will need the following installed on your machine to run this SDM:

  • The git binary
  • Java - A JDK (not a JRE) - Maven - mvn must be on the path.
  • Node
  • npm

    All artifacts referenced in Maven or Node projects must be accessible when the spider runs. Check by running mvn or npm on the relevant projects.

Analyze your repositories

spider --owner <github organization> e.g. spider --owner atomist (not the full org URL)

Use the --u flag to force updates to existing analyses. Do this if you have updated your analyzer code. (See Extending below.)

Now start the server with atomist start --local to expose the visualizations.

Go to http://localhost:2866.

If you wish to access private repositories, ensure that your GitHub token is available to Node processes via a GITHUB_TOKEN environment variable. (This will never be sent to Atomist.)

Architecture

There are three architectural layers:

  1. Analysis. This is predominantly done by implementing Features from @atomist/sdm-pack-fingerprints. This also extends to the project analysis framework, from @atomist/sdm-pack-analysis. Scanners extract data
  2. Query functionality.
  3. Simple UI using React and d3 exposing Sunburst charts.

All three layers are extensible and customizable.

Extending

This project includes some well known features but it is intended for you to add your own.

Do this by updating the features constant defined in the features.ts file. Simply add features to this array:

export const features: ManagedFeature[] = [
    DockerFrom,
    new TypeScriptVersionFeature(),
    //... add your features here

After updating your code you will need to rerun existing analyses. Run the spider again with the --u flag to force updates on existing data.


Created by Atomist. Need Help? Join our Slack workspace.

0.1.28

7 years ago

0.1.27

7 years ago

0.1.26

7 years ago

0.1.25

7 years ago

0.1.24

7 years ago

0.1.23

7 years ago

0.1.22

7 years ago

0.1.21

7 years ago

0.1.20

7 years ago

0.1.19

7 years ago

0.1.18

7 years ago

0.1.17

7 years ago

0.1.16

7 years ago

0.1.15

7 years ago

0.1.14

7 years ago

0.1.13

7 years ago

0.1.12

7 years ago

0.1.11

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago