Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nerdfiles/hybrid.angularamd.hateoas
🚀 HATEOAS client using AngularJS 1.5 with AMD and Cordova/Ionic Hybrid build workflows based on r.js.
https://github.com/nerdfiles/hybrid.angularamd.hateoas
angularamd dualapi hateoas ionic
Last synced: 2 days ago
JSON representation
🚀 HATEOAS client using AngularJS 1.5 with AMD and Cordova/Ionic Hybrid build workflows based on r.js.
- Host: GitHub
- URL: https://github.com/nerdfiles/hybrid.angularamd.hateoas
- Owner: nerdfiles
- License: wtfpl
- Created: 2017-05-27T17:50:45.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T05:32:55.000Z (about 2 years ago)
- Last Synced: 2024-04-15T07:42:55.093Z (9 months ago)
- Topics: angularamd, dualapi, hateoas, ionic
- Language: JavaScript
- Homepage:
- Size: 4.67 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hybrid.angularAMD.HATEOAS
## Install
After cloning:
$ npm i
$ bower iReview Grunt "strategies":
$ grunt
## Strategies
*Stratgies* combine *Basics* and *Workflows* to achieve certain desirable configurations.
### Vendor stuff
Here's an example of adding a vendor to the build:
$ grunt add/vendor --layer=script --vendor=bower_components/angular-ui-router/release/angular-ui-router.js
$ grunt setup
$ grunt buildRemoving vendors in similar fashion is easy:
$ grunt remove/vendor --layer=script --vendor=bower_components/angular-route/angular-route.js
$ bower uninstall angular-route --save
$ grunt setup
$ grunt build## Testing
1. TODO RequireJS + karma
## Rationale
If the engine of application state (and hence the API) is not being driven by hypertext, then it cannot be RESTful and cannot be a REST API. Period. Is there some broken manual somewhere that needs to be fixed?
Roy Fielding1. Hybrid: RequireJS Modules ➢ Cordova/Ionic
2. angularAMD: RequireJS Modules ➢ AngularJS Modules
3. HATEOAS: (ORM + RequireJS Modules) ➢ Evolvable Object-ive Representations of Relational Maps ([halberd][halberd] + `js-data` looks good enough; but hypermedia libraries already provide for storing representations, etc.)## Other noteworthy points
1. `TODO` RequireJS Hot Swapping / Code-On-Demand
2. ngdocs on RequireJS, RequireCSS, etc.
3. ngdocs on GruntJS (really modular tasks as basics and workflows)
4. `TODO` Organic CSS (need to think about how to implement functional groups and
common styles; so, Organic RequireCSS)
5. `TODO` Optimized builds (need a better way to maintain disparate `shim`s)
6. `TODO` Layering: (RequireJS Modules + `dualapi`) ➢ Hypertext Passing for
Discovery Layer (`lodash` is missing from `browserify`'s dependency list)
7. `TODO` [angular-hypermedia][angular-hypermedia] obeys which JSON Schema spec
for [Hypermedia][hyper]? (HAL? [Siren][sirenlint]?)
8. `TODO` *chain environments for Value Layer
9. `TODO` lib for Attribution Layer
10. `TODO` Leaflet Maps common modules[halberd]: https://github.com/jpbochi/halberd
[angular-hypermedia]: https://github.com/jcassee/angular-hypermedia
[angular-hy-res]: https://github.com/petejohanson/angular-hy-res
[sirenlint]: https://github.com/kevinswiber/sirenlint
[hyper]: http://amundsen.com/hypermedia/