futuretea / gocity

:bar_chart: Code City metaphor for visualizing Go source code in 3D

Home Page:https://go-city.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

:bar_chart: Code City metaphor for visualizing Go source code in 3D

https://go-city.github.io

License:MIT License


Languages

Language:Go 99.9%Language:HTML 0.1%Language:Makefile 0.0%Language:Dockerfile 0.0%