CALM RESTful ROCA style with AngularJS
Tags: rest, hypermedia, owlviz, angular
Published: 2020-10-07 20:25:13

link dump. that's it (sharted [here](https://medium.com/@dualyticalchemy/calm-restful-roca-style-with-angularjs-86b45dd9b94))

the web fundamentally is a distributed hypermedia application

- browser controls https://roca-style.org/#server-side
- AngularJS ui-router https://ui-router.github.io/ng1/tutorial/hellogalaxy
- angular-state-machine https://github.com/tafax/angular-state-machine
- angularAMD https://github.com/marcoslin/angularAMD
- hypermedia controls https://github.com/petejohanson/angular-hy-res (other examples https://dev.to/daniellittledev/type-safe-hypermedia-controls-8le)
- restangular https://github.com/mgonto/restangular (still needful?)
- ng-a11y https://github.com/dequelabs/ngA1 [see figure 1]
- require-css https://github.com/guybedford/require-css
- use amundsen's DARRT with https://github.com/badgateway/ketting/wiki/Hypermedia
- sam-angular https://github.com/brusand/sam-angular (e.g.)
- clusterluck https://www.npmjs.com/package/clusterluck
- paseto https://developer.okta.com/blog/2020/03/23/microservice-security-patterns#use-paseto-tokens-over-jwt (if you must use session)
- abandon CAP theorem, embrace CALM theorem https://speakerdeck.com/jhellerstein/the-calm-theorem-positive-directions-for-distributed-computing?slide=45
- hypermedia-oriented design (http://www.w3.org/2011/10/integration-workshop/p/hypermedia-oriented-design.pdf), richardson maturity design model, hypermedia view-based design, hypermedia modeling
- segmented discourse representation theory (sdrt) model http://homepages.inf.ed.ac.uk/alex/papers/iwcs4.pdf
- odrl model https://www.w3.org/TR/odrl-model/#infoModel
- wai-aria model https://www.w3.org/WAI/PF/aria/roles
- rail model https://web.dev/rail/
- prpl pattern https://web.dev/apply-instant-loading-with-prpl/
- xdi/rdf/schema.org/etc.
- core/coap > mqtt
- async REST, ARREST, resthooks.org
- microservices: use scale cube (https://microservices.io/articles/scalecube.html)
- microservice design canvas (https://dzone.com/articles/streamlined-microservice-design-in-practice)
- use YUML (DDDers may enjoy https://github.com/jaime-olivares/yuml-diagram)
- web sequence diagrams https://www.websequencediagrams.com/
- html is a programming language https://mortoray.com/2019/02/11/of-course-html-is-a-programming-language/?unapproved=107123&moderation-hash=e319816e50ae9ded3fa797491957fe94#comment-107123
- microformats http://microformats.org/wiki/existing-rel-values
- link relations https://www.iana.org/assignments/link-relations/link-relations.xhtml
- json schema tool https://www.jsonschema.net
- quicktype https://app.quicktype.io/
- css selectors https://frontend30.com/css-selectors-cheatsheet/
- flex help https://flexbox.help/
- https://github.com/niqdev/angular-q-extras
developers may wish to use ionic v4 (v1.3.3?, but install ionic@4 , etc.).
- gist https://www.semanticarts.com/gist/
- bitemporal data https://en.wikipedia.org/wiki/Bitemporal_Modeling
- cqrs https://github.com/KABA-CCEAC/angular.CQRS/ (https://itnext.io/1-year-of-event-sourcing-and-cqrs-fb9033ccd1c6)
- organic-css http://krasimir.github.io/organic-css/ (use with Atomic BEM)


---

figure 1:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/png3k7ptxse4su0am0xx.png)

different roles whose logics imply representational application controls expressible in hypermedia (SVG, etc.)