Code Monkey home page Code Monkey logo

metacademy-application's Introduction

Build Status

Metacademy Logo

This source is licensed under GPLv3, see LICENSE.txt (Note: Metacademy's content is CC BY SA 3.0).

Demo

Metacademy is live at http://www.metacademy.org.

Installation

Windows

For Windows installation/requirements, please see the README located in /windows. These instructions here presume a *nix or OS X OS.

Preliminary requirements

  • Python 2.7.X Nota bene: install python-devel/python-dev if you're using a package manager such as yum or apt-get. The following command should then print a path. If this command raises an exception, make sure that you have python-devel/-dev for your installed version of python installed:

      python -c 'from distutils.sysconfig import get_makefile_filename as m; print m()'
    
  • gcc Install gcc For OS X users, installing the OS X developer tools is probably the easiest way to do this. The following command should not throw an error:

      gcc -v
    
  • pip Install pip; here are pip's installation instructions. The following command should not throw an error:

      pip -V
    
  • node.js (needed to run tests): Install node, preferably via nvm The following command should not throw an error:

      node -v
    

Mac OS X and *nix

  1. Create an empty top-level Metacademy directory in a desired location, e.g. mkdir -p ~/MyProjects/metacademy.

It will be used for (1) the actual application, (2) storing the database and (3) the respective virtual Python environment.

  1. Go to the top-level Metacademy directory cd ~/MyProjects/metacademy

  2. From your top-level Metacademy directory, clone the application repo:

     git clone https://github.com/metacademy/metacademy-application.git
    
  3. Go to the metacademy-application directory

     cd metacademy-application
    
  4. Install the Metacademy application (Note: this project uses a virtual environment for development):

     make
    

    During the process confirm to load the initial dataset with yes.

    Your Metacademy project directory now also contains the local_dbs and meta_venv directories.

  5. Verify the installation

     make test
    

Optional

The following tasks are not neccessarily needed to run Metacademy.

Create a Django superuser

A Django superuser will allow you to login at /admin to perform additional management tasks.

Given you are still in the metacademy-application directory, activate the virtual environment first.

source ../meta_venv/bin/activate

Then create the Django superuser.

python app_server/manage.py createsuperuser

You can leave the virtual environment again simply by invoking

deactivate

Very Optional

Install numpy and pandas manually

They are needed for some legacy/aux function calls.

Note: These dependencies should already be part of the virtual environment by running make above. Make sure to activate the virtual environment before continuing.

pip install numpy

pip install pandas

Install scipy dependency

Some of Metacademy's ancillary functions currently depend on scipy. Scipy can be tricky to install, so we have made it an optional dependency. pip install scipy won't work unless you have all of the system-level dependencies.

Please refer to the official Scipy installation instructions to set it up for your Operating System / Linux Distribution.

Once you have scipy installed on your machine, link its site-packages folder to your virtual environment's lib/python2.7/site-packages/ folder.

From within the meta_venv directory it could read

ln -s /usr/local/lib/python2.7/site-packages/scipy lib/python2.7/site-packages/

or still from within the metacademy-application directory on a 64 bit RHEL-based system similiar to

ln -s /usr/lib64/python2.7/site-packages/scipy ../meta_venv/lib64/python2.7/site-packages/

Execution

Mac OS X and *nix

  1. Start the virtual environment. You must do this for each new session.

     source ../meta_venv/bin/activate
    
  2. Start the development server

     python app_server/manage.py runserver 8080
    
  3. Open localhost:8080 in a modern JavaScript-enabled browser

Note: The initial search may take some time while the backend loads the graph into memory, but all subsequent pages should load much quicker.

If you have any problems with this installation, please submit an issue at https://github.com/metacademy/metacademy-application/issues?state=open.

metacademy-application's People

Contributors

cjrd avatar rgrosse avatar rjreed avatar danallan avatar almereyda avatar stuhlmueller avatar chid avatar nathantypanski avatar

Watchers

Crisson Jno-Charles avatar James Cloos avatar

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.