Skip to content
📊 Code City metaphor for visualizing Go source code in 3D
Go Other
  1. Go 99.9%
  2. Other 0.1%
Branch: master
Clone or download
Pull request Compare This branch is 1 commit behind rodrigo-brito:master.
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.
.github/workflows
analyzer
handle
lib
model
packrd
testdata
utils
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
README.md
go.mod
go.sum
main.go

README.md

GoCity

Actions Status Build Status codecov Go Report Card GoDoc License MIT


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.

Private Repositories / Localhost

Install gocity:

  • go get -u github.com/rodrigo-brito/gocity

Open a local project:

  • gocity open github.com/example/my-project

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

You can’t perform that action at this time.