gocity
gocity copied to clipboard
:bar_chart: Code City metaphor for visualizing Go source code in 3D

Available here: https://go-city.github.io
Research Paper: 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)
PDF Version: ASERG Page
GoCity is an implementation of the Code City metaphor for visualizing source code. GoCity represents a Go program as a city, as follows:
- Folders are districts
- Files are buildings
- Structs are represented as buildings on the top of their files.
Structures Characteristics
- The Number of Lines of Source Code (LOC) represents the build color (high values makes the building dark)
- The Number of Variables (NOV) correlates to the building's base size.
- The Number of methods (NOM) correlates to the building height.
Installation
-
go install github.com/rodrigo-brito/gocity@latest
- Or just head to the releases page and download the latest version for you platform.
Usage:
- Online: https://go-city.github.io
- Commands
-
gocity server
- Start server -
gocity open <GITHUB_IMPORT>
- Open a specific Github project from github -
gocity open ./my-project
- Open a local directory
-
UI / Front-end
The UI is built with React and uses babylon.js to plot 3D structures. The front-end source code is available in the front-end branch.
Related Works
This tool makes part of a scientific research developed at Federal University of Minas Gerais (UFMG)
Student: Rodrigo Brito
Advisor: Marco Tulio Valente