Skip to content
This repository has been archived by the owner on Jun 9, 2021. It is now read-only.

LearnProgramming/lpmc-site

Repository files navigation

Getting started

  1. Install python 3.3 and postgresql (we use a new generator feature only available in 3.3)

  2. Clone the project with submodules
    git clone --recursive git@github.com:LearnProgramming/lpmc-site.git

  3. It would be best to install python dependencies just for the project by using a virtual environment
    pyvenv-3.3 venv
    source venv/bin/activate

  4. Install pip in the venv
    wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
    python3 get-pip.py

  5. Install dependencies from the requirements file
    pip3 install -r requirements.txt
    momoko requires psycopg2 which requires python3-dev and libpg-dev or your distro's equivalent

  6. In pg_hba.conf (usually at /etc/postgresql/9.3/main/), set local access to trust (as opposed to the default peer)

  7. Create an lpmc user/role and database
    sudo psql
    > create user lpmc;
    > create database lpmc;
    > grant all privileges on database lpmc to lpmc;

  8. Restart postgresql
    sudo invoke-rc.d postgresql restart

  9. Load the schema
    psql -U lpmc < schema.sql

  10. Visit the GitHub applications page and register a new developer application. The authorization callback URL should probably be http://localhost:8888/github_oauth

  11. Copy the config.yaml.example to config.yaml and edit the configuration

  12. You can now run the server
    ./server.py
    Visit http://localhost:8888 or the specified port in config.yaml

Using Vagrant

If you want to set up a virtual machine for this project using Vagrant and VirtualBox, simply follow step 2 to clone the project and run vagrant up. Once complete you can skip to step 10 and do the rest of the steps in vagrant ssh.