Skip to content
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Gitter chat

Welcome! HalliganHelper is a system for managing Teacher's Assistants and the students who need them. It offers real-time queuing so that both students and TAs can know when they'll be helped.

It's written in python, django, and backbone.

Branch Test Status Coverage
Develop Build Status Codecov branch
Master Build Status Codecov branch

Organization Rules

We have exactly 2:

  1. Don't be rude. This project is meant to be friendly to beginners and experienced developers alike. We're all here to learn!

  2. If you find a security bug, please email immediately, and don't open a github issue. We'll do our best to patch it as soon as possible.

Reporting Bugs

Most Importantly if you find a security bug, please email immediately, and don't open a github issue. We'll do our best to patch it as soon as possible.

Otherwise, file an issue on the Github Issue Tracker. Please leave the labeling to us.


All PRs require tests before they will be merged.

Fork the repository and follow the setup instructions below. If they don't work for you, please quietly offer up your offering of chosen swear words to the devops deities and file a ticket. We'll prioritize these tickets, because if people can't help out than what's the point?

After you've set up your development environment, check the Github Issue Tracker. If you're interested in working on a ticket, and nobody else has claimed it, comment there and let everyone know you're going to take it on. If you're interested in something but don't see a ticket for it, search for any tickets that may have been closed as "WontFix" or similar. Assuming your ticket isn't found there, file a new one. Then start coding and open a PR. We'll review your code, chat about other implications, and offer constructive criticism. If a reviewer offers criticism that you feel is something other than constructive, feel free to call them out.


  1. Install Vagrant

  2. Install virtualbox

  3. Clone this repo

  4. run vagrant up

  5. There's one last setup piece that I didn't automate:

    vagrant ssh
    # In the ssh shell:
    mkdir -p ~/HH/node_modules
    mkdir -p ~/vagrant_node_modules
    sudo mount --bind ~/vagrant_node_modules ~/HH/node_modules
  6. Now, whenever you want to work: In two separate shells, run vagrant ssh.

  7. In one of the ssh sessions, run:

    workon hh
    npm install
    npm run webpack-watch
  8. In the other ssh session, run:

workon hh
pip install -r requirements.txt
./ migrate # There might be an issue here about there not being a row with administrator_id=1. If so, create a superuser and migrate again.
./ createsuperuser

You can write code on your local machine and the VM will automatically pick it up and refresh. You can access the site at http://localhost:8000.

You can’t perform that action at this time.