Code Monkey home page Code Monkey logo

popit's Introduction

PopIt

PopIt helps you create and maintain reusable fundamental 'who's who' open data about politicians, to help power projects that need such data. It has various features that make it a better choice than just opening a blank database and dumping the names you can find in.

Why use PopIt?

How can I use PopIt?

How can I set up a PopIt server myself?

popit's People

Contributors

chetan1 avatar chrismytton avatar domoritz avatar dracos avatar evdb avatar guglielmo avatar henare avatar jedidiah avatar lizconlan avatar max-mapper avatar mhl avatar struan avatar tmtmtmtm avatar tomsteinberg avatar wrightmartin avatar zarino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

popit's Issues

Wording changes on /new

"Make your own PopIt politician monitoring website"

Replace instance with "PopIt website"

Change instance slug to "pick a website name"

Only show 4-20 char & alphanumeric on error.

Change "Create site" to "Go"

Infinite loop avoidance

The Position resource does not currently expand lookups to Person or Organisation - because if you go to the URL for a Person resource, which displays all Positions for that Person, and then have full=True, it will try to display the Person resource nested, continuing down for ever). However, it would be nice to have Organisation full=True when looking up a person, and vice-versa. Some manual method that sets full=True depending upon the request needs to be worked out and written.

Bug in creating instance

I was in a popit presentation with Tom Steinberg and tried to create my own site at the same time as he was creating his on the projector.

Might be because we were sharing the same ip? But at the end I didn't got the confirmation email and Tom ended up owning and entering information in the instance that I was creating.

(confusing?)

I tried creating:
http://thacker.popit.mysociety.org/
and Tom:
http://pmopeople.popit.mysociety.org/

But his entry got loaded in my (thacker) instance and I never got my password. (Hope it's more easy to understand, now?)

Simple initial design

Headers and footers that have the basic styling, and accompanying CSS and assets.

Instance app with database selection

Create an app that is able to select the database it should connect to from the domain name used to connect to it, or that is specified in a another way (config file? env variable?)

Should just return a simple diagnostic page saying which db connected, or a 404 page if db could not be found.

HTML representation/docs

Currently there is an admin interface and a REST API using tastypie. HTML representation for tastypie should be investigated (the github project has many many forks and issues), or at least some method of documenting the thing, like what mapit currently has for example.

Base 32 IDs

URLs in the API (and IDs output by it) should be in base32.

Instance login page

create a login page that asks for email address and password. If correct creates a session and sets a cookie. If wrong errors. Uses the instance db for the storage

Nicer query parameters

Currently you can make a query for organisations with a particular data key/value by doing something like /organisation/?data__key__name=KEYNAME&data__value=VALUE - should we try and improve that to something like data__KEYNAME=VALUE? And other similar query parameter lookups like this.

super-admin accounts

Will need to document what these are and that we may use them to look into any instance for admin purposes, and more?

Nicer data output

It would be good if the bits that are output like {"key": {"name": "foo" }, "value": "bar"} could potentially be output simply as {"foo": "bar"}. I think this would be okay in all circumstances, though needs a think. Similarly for person/organisation codes, perhaps.

Admin interface improvements

The drop downs on e.g. an organisation's admin page that lists all members need to be changed to use auto-complete. And probably many other enhancements.

Forgot password page

Allow users who have forgotten their password to get a reset link emailed to them.

Change /confirm page

"Fantastic, thanks for confirming your email - now choose the type of first politicians"

Add various different kinds of politician options to this page - president, MP, unelected etc, but grey out all but elected assembly member.

Define acceptable use and usage limits, and what happens if exceeded

For the hosted service what uses will we permit and what caps will be enforce. What do we do if these are exceeded.

possible things to consider:

  • maximum size of database (in MB, or number of entries)
  • API/web usage - number of hits, data transferred.
  • data stored - just democracy related or will we host celebrities too? What won't we host?

New instance creation page

Page that asks the user for their preferred instance name, email and password. Check that the instance name is valid and available. If so creates the instance for them and then redirects them to the login page.

In the background will have created the instance database and saved their credentials to it.

Un-hosting criteria

We might want to stop hosting some sites because they are not used or not suitable. What are our criteria for doing this?

  • Site access/month falls below certain number?
  • data stored of no value and not being maintained?
  • site not being maintained so serving stale or wrong data?

Decide on framework

We need o framework for both the hosting site (that spawns new instances) and the instances themselves. Would seem sane to make it the same for both.

Deciding on an ORM in #24 will have a bearing as it will set the programming language used.

Allow for attribution of all data (per-field sourcing)

Ensure that this suggestion is implemented:

Make sure you include sources i.e. make it fundamental in the user interface that people put the URL and/or a text description of where they got data from.

This is vital for provenance and for later data updating. And most importantly, for the user interface to add credibility to sites made using the data.

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.