Giter VIP home page Giter VIP logo

govdirectory / website Goto Github PK

View Code? Open in Web Editor NEW
43.0 6.0 28.0 55.79 MB

Website repository for Govdirectory - a crowdsourced and fact-checked directory of official governmental online accounts and services.

Home Page: https://govdirectory.org

License: Creative Commons Zero v1.0 Universal

HTML 86.74% CSS 12.66% Shell 0.60%
wikidata civictech government-data social-media opengov hacktoberfest sdg-16

website's People

Contributors

abbe98 avatar ainali avatar ankitdas09 avatar bunny77k9 avatar daniel-mietchen avatar dejmedus avatar farelion avatar jonasfisch avatar krabina avatar nhunimuni avatar poslovitch avatar rva2869 avatar toukirkhan avatar viveknshah 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

Create 404 page

The 404 page should be "smart" meaning that it should be able to recognize if there is a QID in the URL and if so show a usable message and provide a link to Wikidata because the item might have been on govdirectory.org or might one day be there.

Create a XML sitemap

Similarly, to how each country page works by turning .safeName into a query path this approach could be used to do so in a loop for each country in sitemap.xml.

Apply for github sponsors?

I got a notification that this organization is eligible for GitHub Sponsors. Perhaps we should apply when we have something viewable?

Filtering on supranational level/groups of countries?

It would be nice if it was possible to filter/select all the countries in the European Union and similar.

Possible and interesting things to filter on would be:

  • Unions (like the EU)
  • Continents (like Africa)
  • Alliances (like NATO)
  • Geographic selections (like Scandinavia)
  • Cultural regions (like the Balkans)

Create country template for Wikidata

To make it easier to "start" a country on Wikidata, we could create a template that could be preloaded with a button like this:

<inputbox>
type=create
prefix=Wikidata:Gov Directory/
placeholder=country name
buttonlabel=Add a new country
preload=Wikidata:WikiProject Govdirectory/Country template
</inputbox>

but first we have to create /country template that can be preloaded.

Replace issuer with a better property for retrieving platform name

Currently, the website uses the issuer property to retrieve the platform name from the identifier property but often and rightfully the issuer points to the company running the platform. Causing bugs like Facebook being called "Facebook Inc" or TikTok being named ByteDance.

An option to the issuer property is to use P:subproperty of->Q:website username->P:of->"platform", it has the downside that its more expensive to retrieve and that it uses the questionable "of" pattern. Anyway, we would need to add the data for each identifier property.

Review <head> contents

Make sure best practices are followed.

Look at things like

  • general meta tags
  • open graph
  • twitter cards
  • app icons and colors

Add link to start/join discussions

We should also have a generic comment somewhere to direct people with general questions to discussions/Wikidata.

Originally posted by @Abbe98 in #10 (comment)

This also came up as an idea after interviewing. We should possibly have separate entry points if someone wants to discuss the data or if someone wants to discuss the govdirectory website.

Dynamicly pull updated data from Wikidata when the website's content is outdated

govdirectory.org will be statically generated whose data could behind Wikidata's. As a user, I want my edits to show up directly on govdirectory.org.

Requirements:

  • Do not use SPARQL (to avoid its lag too)
  • The UI should not "jump" or behave oddly when new data is pulled in which might happen later than the initial page rendering

Implementation notes:

  • Create a static list of Wikidata properties that only updates each time the site is built (using SPARQL/Snowman)
  • To avoid a "jumpy" page we might consider adding the new data in an expandable section for "recent additions" or similar which would also make potential vandalism less apparent.

Out of scoop:

  • For the initial implementation leave out updated data(just support additions) we need it later on but let's first see how this works.
  • Pull only online account properties (descriptions/website etc can be supported later)

Model and implement schema.org for government agencies

We should provide a schema.org representation of each agency to make it easier for others to reuse the data.

Relevant types:
https://schema.org/Organization
https://schema.org/ContactPoint <- maybe not for accounts but for email/FOI?

Some ideas:

Link social media accounts as schema:sameAs together with WP/WD and official website.
schema:additionalType -> P31
schema:url -> our URL

Other relevant properties:
schema:name
schema:description
schema:alternateName
schema:email
schema:logo

Make explainer video about the project

Make a short video, probably shorter than 3 minutes that informes the vision and mission of the project, summarizes what we are currently doing and how people can help.

Figure out how to share global data

Some data(countries now, subjects later) is reused in a lot of places especially for the various URLs/"safeNames". Currently, safeNames are duplicated in the countries configurations and in the countries individual queries. Duplicating one value is fine but we also need other values for various future tasks.

We could maybe return the country QIDs in the individual country queries and include them in the countries config SPARQL which we then can use as a map to retrieve the other values(using a template taking a QID).

Anyway I think this should not be solved upstream, as it's a result of Wikidata's data model rather than the nature of RDF.

Figure out how to share the personas

Right now we have them on our concept board, but we should make them publicly available so that anyone who wants to contribute gets a better understanding of what research we have done already.

Display a few selected platforms in the result view as icons and an icon indicating additional ones

Related to #55 but implementation can be done separately.

Icons as follows: F Y T I (+6)
Meaning Facebook, YouTube, Twitter, Instagram, and 6 additional ones.

Pesudo-codeish:

$results = query social-accounts <org>
$preview_count := 0
for $account in $results:
  if $account.something == $youtube:
    $preview_count += 1
    <i>...
  else if $account.something2 == $facebook:
    $preview_count += 1
  ...

$additional_accounts_count := len $results - $preview_count
if $additional_accounts_count > 0:
  <i>$additional_accounts_count

Known issue: if an org has two Facebook accounts this would render two Facebook logos.

Make a high level roadmap

Let's put together a high level roadmap of what we want to do and in roughly what order we want to it in. We can document it and ROADMAP.md and refer to it from both the readme and contributing file.

Add basic navigation bar

We have a rough draft that should be added to the layout template. Current design:

Skärmbild från 2021-07-10 14-44-45

@Abbe98 Should this wait until we have something to show on the country and subject pages or should I add it with only the first two links?

Investigating hosting govdirectory.org on Wikimedia Cloud

At one point we will hit Github Pages 1GB hosting limit so we would need to move, Netifly, AWS S3, etc are good technical chooses. But for ethical and cost reasons it would be neat if we could use WM Cloud with a custom domain (I think Wikidocumentaries does this, although it does not need as much space).

This could also be useful for data dump hosting #24.

Generate and publish full data dumps

As a data journalist/archivist I will ingest and filter the data in my own tooling.

Task:

Generate data dumps using the snowman application/sparql-results+json cache by turning it into CSV or another format more common than SPARQL resultsets.

Get complete coverage of environmental protection agencies

We want data to be filterable on what type of agency it is. Environmental protection agencies will be the one to use in the demo.

  • Figure out how to model this type of data in Wikidata
  • Add the data for all countries
    • Give instructions to Wikimedians for Sustainable Development

Make tables downloadable

Generate the CSV from the HTML table on the client to save disk space and bandwidth. Only generate it when the button is clicked.

Possibility to filter per platform

When lists are long, like on a country or topic page it would be nice to be able to filter on just a single platform. For example, on the page for Sweden or the page for Environmental protection, I could select to only see Twitter accounts or YouTube accounts.

Decide which platforms to display in results views

The results views will have one row for each organization where we want to display some icons to indicate if an organization has an account on one of the more common platforms. We probably want to support this for about 3-5 platforms which we need to pick.

Some canidates:

  • Facebook
  • YouTube
  • Instagram
  • LinkedIn
  • WeChat
  • Telegram
  • Twitter
  • TikTok

Add basic footer

We have a rough basic footer we iterated on a bit, add it to the layout.

Add activity indicator on accounts

We heard in some of our user interviews that it would be good to get some sort of activity indicator on accounts so that it is easier to figure out with whom an online dialogue could get started.

  • How to determine any account is active?
  • On which platforms can we get info like this?
  • How and where should we display this?

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.