trek/EmberCookbook — pull request #20 by eccegordo (2013-09-01 00:57:56+00:00)
Title: WIP Advanced RESTful API Using JSON API Standard

This is an ambitious example but I think if done properly will be very valuable to the community. I am willing to put a lot of the work into this. But would welcome feedback from the community.

The goal is straightforward:

Build a example Ember JS app and have it talk to multiple implementations of the backend API. We can be agnostic about the backend server side programming language. But adhere to some conventional JSON best practices and show how Ember can communicate with a variety of server side technologies.

I would like to outline the basic specs of the API and define those requirements. Welcome any ideas. I would like to make this a little more complex than a blog/post/comments example. Would like to show a range of possible relationships and a reasonably rich model graph in practice.

This is an intermediate to advance example. But the scope should not be ginormous. I think of this as somewhere between a JSBin example and the very detailed discourse example.

I would like the Ember example to be relatively easy to comprehend in one or two reads through the source code.

Reading the backend API is bonus and should be provided so that end users can learn more.

Years ago it was common to use a "PetStore" example to show off JSP and ASP and various languages and frameworks worked. Perhaps we can follow something like that but more up to date.

I am thinking about modeling a basic inventory system like you see in the rails guides for Active Record Associations.

http://guides.rubyonrails.org/association_basics.html

- assemblies
- assemblies_parts
- parts

But am open to ideas.

### What the end user should get out of this cookbook

- Learn how to create a useful abstract specification
- Learn how to model relationships on both client and server side
- Learn how one implementation of Ember JS can talk to many backend technologies via JSON
- Learn about different ways of implementing a backend

Also once we get the basic spec and ember app defined I am open to this a variety of of backends being written. Each backend API should be well documented and committed to GitHub. The more of these the better because I think would help people coming to Ember understand how it can work with a large array of other languages and backend frameworks.

I added an initial outline of the most likely common backed technologies.

Feel free to add others.

Please provide some context to the technology and bonus points if you can link to a github source. The context is important because others might not have heard of the framework or programming language.