Skip to content

FOSSASIA API

Notifications You must be signed in to change notification settings

fossasia/api.fossasia.net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FOSSASIA API

Join the chat at https://gitter.im/fossasia/api.fossasia.net

## History

Our goal is to collect information about Open Source Communities and Hackspaces all over Asia. This information will be used to aggregate contact data, locations, news feeds and events. We adopted this API from the Hackerspaces and Freifunk API, invented years before to collect decentralized data.

At the Wireless Community Weekend 2013 in Berlin there was a first meeting to relaunch freifunk.net. To represent local communities without collecting and storing data centrally, a way had to be found. Another requirement was to enable local communities to keep their data up to date easily.

Based on the Hackerspaces API (http://hackerspaces.nl/spaceapi/) the idea of the freifunk API was born: Each community provides its data in a well defined format, hosted on their places (web space, wiki, web servers) and contributes a link to the directory. This directory only consists of the name and an url per community. First services supported by our freifunk API are the global community map and a community feed aggregator.

The freifunk API is designed to collect metadata of communities in a decentral way and make it available to other users. It's not designated to be a freifunk node database or a directory of individual community firmware settings.

## Structure

FOSSASIA API breaks down to several projects, each with its dedicated task :

## How it works

The "back-end" of FOSSASIA API project is a set communities json files, each containing some general meta-information about a community : name, location, contact, blog/forum/calendar feeds.. Just enough to build interesting projects and statistics. API files must follow a well-defined format, and to make things easier, there's a web-based file generator to help creating / modifying them. Format specification and API file generator are situated at the current api repo.

From the list of individual communities files urls, we retrieve API json files and cache them in aggregated files : ffSummarizedDir.json, ffGeoJson.json, ffMerged.ics,using the common aggregator & ics merger in common repo. Other API projects & external services can retrieve API "back-end" data from these files. These aggregator are set up as cron tasks to periodically retrieve fresh data.

The API is designed to make communities metadata available to everyone. There are several public webservice endpoints that users can access : Calendar API in common repo, merged feed rss in feed repo. These services require the aggregated json file ffGeoJson.json.

Finally, there are several visual components : the common map situated at cmap repo, that could be embed as iframe in any website. The map also requires ffGeoJson.json. And the community timeline in timeline repo, which gets its data from Calendar API, and is bundled as a jQuery plugin

## Setup

The API projects are designed to be independant components. Only harmless urls hold them together, which can, in most of the case, be modified in project's configuration file. Please clone any repo as per your needs and refer to its README file for more information.

For detailed setup instructions of the api file generator, visit here

Contribute

The most meaningful way to contribute to FOSSASIA API project is to help us reach out to more people and more communities, in ASIA and the world. You can find out how to add new open-source community to our API here.

We equally appreciate development contributions to help build an useful & meaningful project. Feel free to open issues, send us pull requests, and chat with the development team.

License

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •