Skip to content

vprnet/town-meeting-day-2017

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table: Town Meeting Day Results 2017

The code here will power VPR's Town Meeting Day Results table.

##Notes on the Project

The project was built off of VPR's App Template. The steps to get set up are here:

  1. Make sure you have Python 2.7 installed.
  2. Clone the repo locally. git clone git@github.com:vprnet/town-meeting-day-2017.git
  3. Install pip
  4. Install virtualenv. pip install virtualenv
  5. Change into the project directory. cd town-meeting-day-2017
  6. Create a virtual environment for the app. virtualenv venv
  7. Enter the virtual environment. source venv/bin/activate
  8. Install the app requirements. pip install -r requirements.txt
  9. To run locally, hit a quick python runserver.py and head to 127.0.0.1:5000, but know that it will be broken until you follow the Google Spreadsheet steps below.

##Notes on Interacting with Google Spreadsheets

The project is hooked up to a Google Spreadsheet that VPR reporters can populate. If you're interested in cloning this project, you'll need your own Google Spreadsheet to get started.

We use gspread with the Drive API to connect our spreadsheet to the app. Here are a few things to know about the implementation:

  1. To start a new project, head to the Google Developer's Console.
  2. Click create a project. Give it a name.
  3. Click Enable and manage APIs.
  4. Under Google Apps APIs click Drive API and Enable.
  5. Click Go to Credentials.
  6. Create Credentials.
  7. Create service account key, and select New service account. Give it a name.
  8. When you create, you'll see a JSON file incoming. Save that file to your project directory. Add it to your gitignore if your code is going anywhere public.
  9. The json file is what gets loaded and opened in sheet.py. Make sure the names match.
  10. Create a Google Spreadsheet through your Google Drive. Make sure your spreadsheet title is exactly what's trying to be opened in sheet.py's authorization.open("") line. To match our project, you'll need a worksheet with columns: Town, Town_Budget, School_Budget, and Source.
  11. You may need to share your Google Spreadsheet with the email provided in client_email.