Giter VIP home page Giter VIP logo

opendata-openspending-satellite-template's Introduction

OpenSpending Satellite Site Template

This repo is a template that can be used to easily create custom budget and spending visualization sites using data from OpenSpending.

An example of the kind of site that you can create (very quickly) using this template is Where Does My Money Go?.

What is in this repository?

Satellite sites runs as simple static websites built out of plain HTML and JS and pulling data from OpenSpending. All data is stored in the OpenSpending platform and the visualizations and search are driven directly from its API.

The repository contains a basic layout for the site, based on Twitter's Bootstrap 2 CSS framework, and a skeleton site based on Jekyll, a simple generator tool for static web sites. The key component is code samples for embedding most of the widgets that are currently available for OpenSpending:

  • bubbletree.html holds the classic BubbleTree diagram, which can be used to easily break down a multi-level hierarchy of classifications (such as the COFOG codes in the UK budget).
  • bubbletree-map.html combines the BubbleTree and a simple vector map of the UK. This would be more work to adapt for a custom site, but the beautiful view may well be worth the effort.
  • dailybread.html contains the Daily Bread custom tax viewer, which breaks down government expenditure over the approximate tax contribution of the visitor.
  • browser.html is a search interface for transactional spending information, used for the UK's departmental spend in this example. This is useful for datasets which are too unstructured for proper aggregation but contain interesting information at a detailed level.

How do I make a budget site for my own country/region?

If you want to set up a budget monitoring site for your own country, you first need to acquire some budgetary or spending data and load it into OpenSpending using the site's web interface. Once the data is loaded, you can fork this repository and change the titles, styles and arrangement to meet your individual needs. Finally, you can either host the site yourself, or let GitHub Pages do it.

How do I build the site?

The pages in this repository are built to their final form by combining them with the template in _layouts/default.html using Jekyll, a Ruby-based static site generator. To build the site, you first need to install Jekyll (works on either Mac OS X or Linux):

sudo gem install jekyll

A good tutorial for Windows is available here.

After that, you can simply build the site or even run a local web server by running this command from the repository root directory:

jekyll serve --watch

If your jekyll version is less than 1.0, run this command instead of the above:

jekyll --server --auto

Even if you cannot install jekyll for some reason, you can still experiment with the site by deploying its contents after each change.

The easiest way to deploy the site is via GitHub pages. To use them, simply adapt the CNAME file in the root of the repository and push to the gh-pages branch. All pages will be automatically built and deployed.

What customizations should I make if I set up my own site?

In order to create a new, white-label site, there are a number of easy tweaks you can make.

  • Edit the configuration file in _config.yml to set the overall site title and some basic parameters, such as the OpenSpending installation to be used. Further configuration options, mostly regarding page generation, are available for Jekyll.
  • The JavaScript initializations for each of the widgets need to be customized; in particular the dataset name needs to be set and an appropriate set of break down dimensions needs to be set for the BubbleTree and DailyBread. The most common configurations for these widgets can be done in _config.yml
  • Adapt the style sheet in css/style.css to use your own theming; in particular fonts and colorization.
  • Replace img/logo.png to set a custom logo.
  • Edit the basic HTML structure of the project in _layouts/default.html to extend or shorten the menu and any other page elements.

To get a basic understanding of the terminology and concepts involved in the API calls to OpenSpending, take a few minutes to read up on the technical background: How does OpenSpending store data?

Where do I find help?

This repository is a community-supported resource and there are several places where you can call on the community to help you customize it for your needs:

The OpenSpending team can also offer tailored support to build a customized site about government finance, to help you create your own visualizations or to answer specific questions related to budgetary or spending data.

This additional level of support comes with service level agreements and is ideal for projects working to a tight deadline, those looking for new-types of visualisation, high-stake or long term projects. If you are interested in finding out more about our availability and what we can offer please get in touch with the OpenSpending project at [email protected]. We'd love to work with you!

opendata-openspending-satellite-template's People

Contributors

pudo avatar gka avatar nickstenning avatar rufuspollock avatar nigelbabu avatar vitorbaptista avatar jmblog avatar

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.