Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ondrajz/goexplorer

Interactive overview of Go packages using dynamic visualization.
https://github.com/ondrajz/goexplorer

experimental go golang gopath static-analysis visualization

Last synced: 2 months ago
JSON representation

Interactive overview of Go packages using dynamic visualization.

Awesome Lists containing this project

README

        

gopher

Go Explorer


gophers.slack.com#goexplorer

Go Explorer is an experimental tool to dynamically visualize Go packages using interactive overview.

---

## Introduction

Goal of this project is to experiment with visualization of Go packages and environment to aid developers by providing interactive overviews for various analyses, such as exploring package hierarchy, viewing package dependencies, examining call graph of a program, ..etc.

> The initial idea began during development of [go-callvis](https://github.com/TrueFurby/go-callvis#roadmap) and I've decided to develop *goexplorer* as a separate project, which is intended to provide more abstract approach.

### Preview

[![screen](images/screen.png)](https://raw.githubusercontent.com/TrueFurby/goexplorer/master/images/screen.png)

### How it works

It has web server that serves the API and web application that uses [vis.js](http://visjs.org/) for visualization inside ``.

## Features

**This project is currently at very early stage of development!** :warning:

- [x] explore hierarchy of $GOPATH
- [ ] view dependencies of a package
- [ ] examine call graph of a program

## Installation

#### Requirements

- [Go](https://golang.org/dl/) 1.7+

### Install

Use the following command to install:

```
go get -u github.com/TrueFurby/goexplorer
```

## Usage

### Quick start

###### Start the web server with

```sh
cd $GOPATH/src/github.com/TrueFurby/goexplorer; go install
goexplorer
```

###### Open [http://localhost:8888](http://localhost:8888) in your browser.

### Getting started

Clicking on nodes will retrieve content if any and add it's child nodes dynamically to the clicked node. By pressing `DEL` key you can remove all child nodes of currently selected node.

#### Nodes
* with **green laptop icon** represent _programs_
* with **blue box icon** represent _packages_

## Community

Join the [#goexplorer](https://gophers.slack.com/archives/goexplorer) channel at [gophers.slack.com](http://gophers.slack.com) (*not a member?* [get invitation](https://gophersinvite.herokuapp.com))

---

> Did you find any bugs or have any suggestions? Feel free to open [new issue](https://github.com/TrueFurby/goexplorer/issues/new) or start discussion in the slack channel.