Shared Publishing of Data and API Projects, Portals, and Dashboards Using Github
You can share your API projects, portals, dashboards, and more with other developers by publishing them to a commit on Github.
Join the DZone community and get the full member experience.Join For Free
Each one of the 80+ areas of my API Evangelist lifecycle research projects is a single Github repository that I publish JSON or YAML data stores containing the news, organizations, tools, APIs, and patents that I’ve aggregated as part of my research. The home page of each site is a set of UI elements that take the data store and renders it into something that makes the data consumable by a human. I reference each project in my storytelling, and it acts as a workbench as I craft my guides, white papers, and API strategy work as a consultant.
The news I have curated is published as a news listing. Organizations and tools are published as a listing with icons, title, description, and links. Listings of my partners, banner logos, and other elements are driven from YAML and JSON files I update as part of my continuous integration with Google Spreadsheets, Feedly, Twitter, Facebook, LinkedIn, and other services I use to manage my operations. I have a variety of manual, and automated processes that are run each day, publishing, syndicated and moving the API Evangelist platform.
All of this is open to anyone else who wants to publish to it via a Github commit, or via the API when you possess valid Github API token like I do. I publish data using a variety of Github accounts depending on which project or organization I am working on. In its simplest form, it is collaborative website development. When you combine with YAML and JSON data, and a Jekyll presentation layer it can become collaborate dashboard publishing, with shared ownership of a forkable data engine. Each player can publish the YAML or JSON they are in charge of, and the Github hosted, Jekyll and Github Pages presentation layer displays as a website, dashboard, or even machine readable, static data feeds in YAML, JSON, Atom, CSV, or another format.
I have a variety of Github templates for managing my network of API research sites, as well as forkable projects that anyone can launch to support open data projects like my Adopta.Agency blueprint, or a human services API developer portal. It’s not just me doing this, you can find [a forkable example of an API and developer over at the General Services Administration(GSA), providing a baseline API definition that other government agencies can follow when launching an API, and be publishing an API developer portal. Github works well for the continuous integration and deployment of open data, and API portals, projects, and dashboards that can be managed in a collaborative fashion out in the open, or behind a curtain with a private repository.
I’m working with a handful of API providers to experiment publishing API industry data in this way. Combining the organizations, news, tools, patents, and other data I aggregate from across the API industry with additional monitoring, search, discovery, security, and other relevant data into single project sites, data and API portals, and industry dashboards. I’m looking to draw out more API service providers and encourage them to share data that could benefit the entire community. I’ve been doing this for a while with API definitions but will be expanding into other areas of the lifecycle, and hopefully encouraging more sharing, and forcing y’all to come out of your silos a bit, and learn to work together–whether you like it or not.
Published at DZone with permission of Kin Lane, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.