Algorithm visualization website and framework (anif).
JavaScript Go C++ Java Python Shell Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
anif
client
server
.gitignore
LICENSE
README.md
app.yaml
index.yaml

README.md

Avy

Avy is algorithm visualization framework and visualization hosting website.

Directory structure of this repository

client: Website client-side application (AngularJS)

  • css: CSS style sheets
  • img: images
  • js: JavaScript source files
  • partials: HTML (AngularJS) templates
  • vendor: 3rd party libraries
  • index.html: template for the website index

server: AppEngine server application

  • api: API for the website (www.algoviz.net)
  • anif: visualization and module hosting (anif.algoviz.net)
  • common: common functions
  • model: data structures for storing in the database
  • server.go: main server file

anif: Animation framework

  • framework: basic framework files (libraries and api.html for iframe file access API)
  • tools: algorithm event capturing tools in various programming languages
  • modules: visualization modules
  • examples: full visualization examples with code and input files
  • index.html: template for visualization index

Visualization/Module development

Directories:

  • anif/modules
  • anif/examples

You can find information about visualization development on the website: http://www.algoviz.net/help/

Make push requests only if you're changing an existing visualization or module in this repository. If you're creating your own modules and/or visualizations create your own repository and let me know if you want me to link to it here.

Website development

Directories:

  • client
  • server

Running development server

Pushing changes to production

To push changes to algoviz.net you need my permission fist, but you can also create your own AppEngine project and push there.

To get started with AppEngine go here: https://cloud.google.com/products/app-engine/

Once you have an AppEngine project, you can push the code using "goapp deploy" or "appcfg.py --oauth2 update ." if you prefer using OAuth/password-less authentication (I certainly do). Before you do the push, you need to change the configuration in the "server/server.go" file (domain name and port number). You can get more information here: https://developers.google.com/appengine/docs/go/tools/uploadinganapp