Code Monkey home page Code Monkey logo

appstract's Introduction

Obsolete

This repository is now obsolete. The active repository for this project is located at github.com/CorgiMan/appstract. This version was judged for the Gopher Gala 2015 in which it finished at the third place. Thank you for the votes!

AppStract

It can be an overwhelming experience to join an open source project that has a lot of code in it. You might start by reading documentation or even dive into the code directly. But sometimes you just want a quick overview. AppStract provides the solution.

AppStract analyzes go code from a github repository. This analysis results in a graph that visualizes the structure of the go program. In the graph two functions are connected if one function calls another, thus creating an abstract for the entire go program.

Check it out at go-appstract.appspot.com.

appstract's People

Contributors

corgiman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

appstract's Issues

Consider reusing the golang.org/x/tools callgraph libraries and tools

Nice work! You might be interested in these other libraries and tools that construct the call graph of a Go program:

golang.org/x/tools/go/callgraph
represents the call graph of a Go program

golang.org/x/tools/cmd/callgraph
computes the call graph of a program

golang.org/x/tools/cmd/godoc -analysis=pointer
displays the call graph of a Go program in a web interface

Redirect loop on some repos.

I am guessing it's likely due to the capital letter in the path.

http://go-appstract.appspot.com/view/shurcooL/sanitized_anchor_name results in a redirect loop.

curl -i -L http://go-appstract.appspot.com/view/shurcooL/sanitized_anchor_name
HTTP/1.1 302 Found
Location: /view/shurcooL/sanitized_anchor_name
Content-Type: text/html; charset=utf-8
Date: Thu, 29 Jan 2015 20:47:38 GMT
Server: Google Frontend
Content-Length: 59
Alternate-Protocol: 80:quic,p=0.02

HTTP/1.1 302 Found
Location: /view/shurcooL/sanitized_anchor_name
Content-Type: text/html; charset=utf-8
Date: Thu, 29 Jan 2015 20:47:38 GMT
Server: Google Frontend
Content-Length: 59
Alternate-Protocol: 80:quic,p=0.02

HTTP/1.1 302 Found
Location: /view/shurcooL/sanitized_anchor_name
Content-Type: text/html; charset=utf-8
Date: Thu, 29 Jan 2015 20:47:39 GMT
Server: Google Frontend
Content-Length: 59
Alternate-Protocol: 80:quic,p=0.02

HTTP/1.1 302 Found
Location: /view/shurcooL/sanitized_anchor_name
Content-Type: text/html; charset=utf-8
Date: Thu, 29 Jan 2015 20:47:39 GMT
Server: Google Frontend
Content-Length: 59
Alternate-Protocol: 80:quic,p=0.02

HTTP/1.1 302 Found
Location: /view/shurcooL/sanitized_anchor_name
Content-Type: text/html; charset=utf-8
Date: Thu, 29 Jan 2015 20:47:40 GMT
Server: Google Frontend
Content-Length: 59
Alternate-Protocol: 80:quic,p=0.02

^C
~ $ 

what about private repos?

I tried running my own local copy of this site, but got compile errors.

package appengine: unrecognized import path "appengine"
package appengine/datastore: unrecognized import path "appengine/datastore"
package appengine/urlfetch: unrecognized import path "appengine/urlfetch"

are appengine packages a must?
can we replace them with defined interface calls?

Would it work if I forked my own copy and made the changes myself? I didn't look into the code yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.