Skip to content
3rd year IS app
Branch: master
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.


A political promise tracker for monitoring Government parties and their policies/manifestos.

Getting Started

Clone this git repository down to your system.

git clone


git checkout development


git pull

Navigate to policy-tracker folder; which contains the file.

Run the following command to install the correct dependencies:

pip install -r requirements.txt

After the module has been installed, you need to download the config.pyc file provided via Slack (or other means) and place it in the running_project directory next to the settings.pyc file. This config file is vital in providing the correct credentials for OAuth2 configuration as it provides the application keys and secrets from Google, Facebook, Twitter and GitHub.

With the config.pyc file in the correct location, you can safely run the application with:

python makemigrations
python migrate
python runserver

Then just navigate to http://localhost:8000 or

OAuth2 APIs

Login via OAuth2 APIs is implemented through the social-auth-app-django module for Django.

Currently, a basic template Home HTML file is used with little functionality. However, on the Home Page there are four links to allow a User to login with Google, Facebook, Twitter or GitHub. Standard Django login/registration is not yet implemented.

There you will be asked to login and/or pick which Google/Facebook/Twitter/GitHub account you want to use to grant permissions to Policy Tracker. And a brief description of the permissions will show next to the Policy Tracker logo. Policy Tracker will then receive details such as Firstname, Surname and email address to create a User object in the DB with.

You will then be redirected to the Home page with a logged in status.

Once logged in with one of the services, the user can then access the below link to view their current connected services, and choose to disconnect any that they may wish to:


If the user is not logged in and they attempt to access the above page, the app is unable to catch this because there is no login page yet. Thus, an error should and will occur.

When developing the application, always commit to a new branch that is based off of the 'Development' branch. That way any commits can be reviewed for errors/clashes before being pulled into the main 'Development' branch. Periodically, we will update the 'Master' branch to reflect the changes of the 'Development' branch.

When developing, it useful to be able to easily see the contents of the database (db.sqlite3 file). As such you should download the "DB Browser for SQLite" application It is a lightweight and easy-to-use DB Browser and only requires launching the application and selecting "Open Database" in the top righthand corner. Then just browse to the application's db.sqlite3 file.

You can’t perform that action at this time.