Skip to content

Interactive overview of Go packages using dynamic visualization.

License

Notifications You must be signed in to change notification settings

ondrajz/goexplorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 and I've decided to develop goexplorer as a separate project, which is intended to provide more abstract approach.

Preview

screen

How it works

It has web server that serves the API and web application that uses vis.js for visualization inside <canvas>.

Features

This project is currently at very early stage of development! ⚠️

  • explore hierarchy of $GOPATH
  • view dependencies of a package
  • examine call graph of a program

Installation

Requirements

Install

Use the following command to install:

go get -u github.com/TrueFurby/goexplorer

Usage

Quick start

Start the web server with
cd $GOPATH/src/github.com/TrueFurby/goexplorer; go install
goexplorer
Open 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 channel at gophers.slack.com (not a member? get invitation)


Did you find any bugs or have any suggestions? Feel free to open new issue or start discussion in the slack channel.