rodrigo-brito/gocity

📊 Code City metaphor for visualizing Go source code in 3D

Go

1,810

111 commits

updated Dec 5, 2025

See the code

README

GoCity

Actions 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.

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.

This tool makes part of a scientific research developed at Federal University of Minas Gerais (UFMG)
Student: Rodrigo Brito
Advisor: Marco Tulio Valente

go
golang
hacktoberfest
react
visualization

rodrigo-brito/gocity

📊 Code City metaphor for visualizing Go source code in 3D

Go

1,810

111 commits

updated Dec 5, 2025

See the code

README

GoCity

Actions 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.

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.

This tool makes part of a scientific research developed at Federal University of Minas Gerais (UFMG)
Student: Rodrigo Brito
Advisor: Marco Tulio Valente

go
golang
hacktoberfest
react
visualization

Project health

Overall

3.0/10

Maintained

0/10

Code review

5/10
OpenSSF Scorecard

Latest release

v1.0.6 · Aug 20, 2022

Releases this year

0

Significant stargazers

TJ

54,538 followers · starred Nov 2018

Vladimir Dementyev

1,845 followers · starred Jun 2020

Hardy Jones

272 followers · starred Nov 2018

quasilyte

850 followers · starred Oct 2018