datasucker / netrunner-datasucker

MIT License
20 stars 7 forks source link

Netrunner Datasuckers

The primary goal of Datasuckers is to decentralize the storage of Netrunner card data. The dispersal of this data across various servers will remove the need for tools and utilities to embed any copyrighted work.

Required API

Datasuckers must implement a standardized REST API:

Response Requirements

All responses must have the the appropriate CORS header:

response.header['Access-Control-Allow-Origin'] = '*'

In addition, all responses should follow the JSONP usage pattern.

Card Objects

Datasuckers must return JSON card objects that follow this naming and type convention:

Set Objects

Datasuckers must return JSON set objects with this convention:

// Example Set Object for the First Contact Data Pack { "name": "First Contact", "cyclenumber": 6, "setcode": "359", "total": 20, "number": 18 }


#### Status Object
The /status endpoint returns a JSON object:
- `lastupdated` (string => ISO8601 timestamp)

// Example Object return from the /status endpoint { "lastupdated": "2014-09-22T22:12:52.295Z" }


The **lastupdated** value will help the Datasucker network identify stale data in the future.

#### TLDR
The Datasucker API represents the aboslutely smallest possible API needed to power the majority of external Apps.
Any search feature, sorting, querying, sub-queries, etc. must be built external to the Datasucker API.

This repository holds what you need to spin up your own Datasucker that is self-maintaining and can clone itself from other Datasuckers.

The servers hosting this data will be private and not easily discoverable. The data that the servers are hosting is also freely available from the copyright owners.