On Github absynthmind / hypermedia-design
HTTP/1.1 302 Found
Location: http://absynthmind.github.io/hypermedia-design/
Content-type: presentation/reveal+css
context
http://tessel.io
http://martinfowler.com/articles/richardsonMaturityModel.html
context
curl -i https://api.github.com HTTP/1.1 200 OK Server: GitHub.com Content-Type: application/json; charset=utf-8 Status: 200 OK { "current_user_url": "https://api.github.com/user", "authorizations_url": "https://api.github.com/authorizations", "repository_url": "https://api.github.com/repos/{owner}/{repo}", ... }
curl -i https://api.github.com/repos/absynthmind/hypermedia-design HTTP/1.1 200 OK Server: GitHub.com Content-Type: application/json; charset=utf-8 Status: 200 OK { "id": 15635201, "name": "hypermedia-design", "full_name": "absynthmind/hypermedia-design", "owner": { "login": "absynthmind", "id": 727855, "avatar_url": "https://gravatar.com/avatar/...", "followers_url": "https://api.github.com/users/absynthmind/followers", ... }, "git_refs_url": "https://api.github.com/repos/absynthmind/hypermedia-design/git/refs{/sha}", "git_commits_url": "https://api.github.com/repos/absynthmind/hypermedia-design/git/commits{/sha}", ... }
curl -i https://api.github.com/repos/absynthmind/hypermedia-design/git/refs HTTP/1.1 200 OK Server: GitHub.com Content-Type: application/json; charset=utf-8 Status: 200 OK [ { ... }, { "ref": "refs/heads/master", "url": "https://api.github.com/repos/absynthmind/hypermedia-design/git/refs/heads/master", "object": { "sha": "b3b2d4d5b7362635c670d7f2033d9c1dc17b1416", "type": "commit", "url": "https://api.github.com/repos/absynthmind/hypermedia-design/git/commits/b3b2d4d5b7362635c670d7f2033d9c1dc17b1416" } } ]
curl -i https://api.github.com/repos/absynthmind/hypermedia-design/git/commits/b3b2d4d5b7362635c670d7f2033d9c1dc17b1416 HTTP/1.1 200 OK Server: GitHub.com Content-Type: application/json; charset=utf-8 Status: 200 OK { "committer": { "name": "Ronk", "email": "ron.kersic@gmail.com", "date": "2014-01-13T10:39:22Z" }, "message": "added introduction section", "parents": [ { "sha": "8cfcb1d88e1546da9a3fd7407c96ad66d6325e78", "url": "https://api.github.com/repos/absynthmind/hypermedia-design/git/commits/8cfcb1d88e1546da9a3fd7407c96ad66d6325e78", "html_url": "https://github.com/absynthmind/hypermedia-design/commits/8cfcb1d88e1546da9a3fd7407c96ad66d6325e78" } ] }
var api = require('traverson').json.from('https://api.github.com/') api.newRequest() .follow('repository_url', 'commits_url') .withTemplateParameters({ owner: 'absynthmind', repo:'hypermedia-design', sha: 'b3b2d4d5b7362635c670d7f2033d9c1dc17b1416' }).getResource(function(err, resource) { if (err) { console.log(err); return; } console.log(resource) })
GET http://api.alttekpub.com { "_links": { "self": { "href": "..." }, "productions": { "href": "..." } } }
{ "_links": { "self": { "href": "..." }, "filter": { "href": "...{?categories}" } }, "categories": ["Microsoft", "Ruby", "Javascript", "Mobile"], "_embedded": { "videos": [{ "_links": { "self": { "href": "..." }, "episodes": { "href": "..." } }, "title": "Real World ASP.NET MVC3", "description": "In this advanced, somewhat-opinionated production you'll get your very own startup off the ground using ASP.NET MVC 3...", "permitted": true }, ... }] } }
{ "_links": { "self": { "href": "..." } }, "title": "Real World ASP.NET MVC3", "description": "In this advanced, somewhat-opinionated production you'll get your very own startup off the ground using ASP.NET MVC 3...", "permitted": true, "_embedded": { "episodes": [{ "_links": { "self": { "href": "..." }, "media": [{ "type": "video/webm; codecs='vp8.0, vorbis'", "href": "..." },{ "type": "video/ogg; codecs='theora, vorbis'", "href": "..." }] }, ...
{ "resources": { "core": { "limit": 60, "remaining": 58, "reset": 1389681064 }, "search": { "limit": 5, "remaining": 5, "reset": 1389677567 } }, "rate": { "limit": 60, "remaining": 58, "reset": 1389681064 } }
https://api.github.com/rate_limit
Design
http://amundsen.com/examples/mazes/2d/five-by-five/
or create them
A monolith, once upon a time