This is a tutorial series for the dedicated. It is assumes a baseline level of knowledge and these tutorials are about how implementations are done. This is a place to read documented code and look at abstractions and code organisation. The proof is in the ease of use and understanding. If you are looking for what is hypermedia or why then there exists plenty of material via a quick search and loads of books on the subject in the last ten years—see below.
That on getting some examples built that are comparable, there is a pragmatic step forwards such that somebody comes up with that secret sauce that moves hypermedia from the dedicated to the mainstream. It is likely that a query abstraction (like Neo4j’s graphite or GraphQL) over the top of a good client application cache (per client). On the API, there must be a better way than all this boilerplate code. Yet, that tends towards a domain specific language (DSL) that moves away from a general purpose language where it by repetition and exception, the essential and accidental are separated. So perhaps it will come from a simplified-REST-inspired-without-the-legacy-bloat serverless-side framework that has clean relative (ie not a flat namespaced) routing. Put differently, the current decades old approaches to MVC make the simple aspects that we should almost get for free way too hard and time consuming. [/end of rant]
The todo app should ideally have this implemented outside the application.The current implementation using the credentials above is using Auth0. Basically, it has a free plan that demonstrated the point well enough.
The todo app can either implement a resource-based or role-based access control. Currently, no chapters explain the (simplified) implementation in the code base.
Currently, at this stage it is easier to keep everything in one repository keeping everything in sync and that the utility libraries are also still “under development”. Separate folders are good enough for now but with reason can be made into package managed libraries.
Mike Amundsen: eg Designing and Implementing Hypermedia APIs