Pre-Requisites & Context
You should definitely complete the JSON API badge (
https://www.badgelist.com/team/json-api-v1) before starting this one. The JSON API Rails gem (which also includes elements of other gems from the JSON API RB collection of gems) is the toolset which Badge List uses in order to serialize Rails models and generate JSON responses in a way that is compliant with the JSON API specification.
Note 1: The JSON API Rails gem isn't actually that great. There are some wonky design decisions that have been made by the gem managers. And in fact, we are not using JSON API RB's Deserialization library because it had tons of issues that prevented it from working for our use case. We may eventually move away from using this gem altogether, but for now it abstracts away a lot of complexity when it comes to serialization and deserialization. It also
adds some complexity, but the complexity lost is much greater than the complexity gained.
Note 2: We've got a significant amount of custom DSL (domain-specific language) built up
on top of the JSON API gems. That means that it's especially important to understand how the JSON API gems work in their vanilla state, otherwise you'll be completely lost when you get to Badge List's implementation.
How to earn this badge
- Learn about the JSON API gems. Refer to #Learning-Resources to get started.
- Solve the #Challenge
- Post the resources which were helpful in your own learning journey back to #Learning-Resources
- Request feedback