/ella-framework

Because KeystoneJS is honestly shit

Primary LanguageTypeScript

Ella Framework

Ella is a universal JavaScript application development framework.

Ella has two subprojects:

  1. Ella Framework is an opinionated Angular Universal implementation. As such, it includes UI code and a rendering server.
  2. Ella API is an opinionated Loopback API server.

Why is it called Ella?

'Ella' personifies E.L.A, an abbreviation of Express + Loopback + Angular.

The project was originally an Angular Universal CMS and called Ng Express CMS. For technical reasons the API server was split out and implemented in Loopback.

Loopback does not leverage Express in all versions, and the API server can be used with or without Angular. This called for a rename.

To prevent renaming in the future, the technical ingrediants were obfoscated in the current name. If the project composition changes further, it will continue to operate under the name 'Ella'.

Starting the Project

  1. npm install
  2. npm start
  3. visit localhost:4200

Additional Setup for Development

  1. Globally install Angular CLI: npm install -g @angular/cli

related projects and links

The most important is #1. #2+ are not ordered.

  1. https://medium.com/@cyrilletuzi/angular-server-side-rendering-in-node-with-express-universal-engine-dce21933ddce
  2. https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced
  3. https://github.com/born2net/ng-skeleton
  4. https://universal.angular.io/
  5. https://blog.angularindepth.com/creating-an-angular-universal-app-with-the-angular-cli-5ef26c9fd9a5
  6. https://medium.com/@evertonrobertoauler/angular-5-universal-with-transfer-state-using-angular-cli-19fe1e1d352c
  7. https://github.com/tastejs/todomvc/tree/gh-pages/examples/angular2
  8. https://github.com/angular/angular-cli
  9. https://github.com/born2net/studioDashboard
  10. https://github.com/angular/universal-starter
  11. https://codecraft.tv/courses/angular/reactive-programming-with-rxjs/rxjs-and-angular/
  12. https://developers.google.com/web/fundamentals/architecture/app-shell
  13. https://blog.angular.io/angular-5-1-more-now-available-27d372f5eb4e
  14. http://www.afterecon.com/other/existing-js-cms-solutions-shit/
  15. https://www.youtube.com/watch?v=oa9cnWTpqP8
  16. angular/universal-starter#411
  17. https://github.com/seriema/angular-apimock
  18. https://github.com/EreckGordon/angular-universal-pwa-starter
  19. https://github.com/ramsaylanier/VuePress
  20. https://scotch.io/tutorials/angular-2-http-requests-with-observables
  21. https://codecraft.tv/courses/angular/http/core-http-api/
  22. https://stackoverflow.com/questions/34190375/how-can-i-await-on-an-rx-observable
  23. angular/angular#4017
  24. https://www.google.com/search?q=loopback+get+authorization+token&rlz=1C1GCEA_enUS779US779&oq=loopback+get+authorization+token&aqs=chrome..69i57j0.4191j0j7&sourceid=chrome&ie=UTF-8

UX: Bootstrap 4 + Angular Material + Rando Components including Angular and HTML5, SCSS

  1. using Boostrap 4.0.0-beta.3
  2. https://www.youtube.com/watch?v=-k73oWFrRoE
  3. https://getbootstrap.com/docs/4.0/examples/
  4. https://material.angular.io/components/categories
  5. https://www.youtube.com/watch?v=XGEsZmoZNbw
  6. https://scotch.io/tutorials/using-sass-with-the-angular-cli
  7. https://www.youtube.com/watch?v=2osMpXOe5fA
  8. CSS Grid...? https://www.youtube.com/watch?v=7kVeCqQCxlk
  9. CSS Grid...? https://www.youtube.com/watch?v=jV8B24rSN5o
  10. https://ng-bootstrap.github.io/#/components/rating/examples
  11. https://www.bootstrapcdn.com/
  12. https://coolors.co/
  13. http://paletton.com

Chart.js w/ Angular 5, with data and API (ng generate service)

  1. https://www.youtube.com/watch?v=RTzi5DS7On4

Card component https://getbootstrap.com/docs/4.0/components/card/

log in https://getbootstrap.com/docs/4.0/examples/signin/

admin ui / dashboard https://getbootstrap.com/docs/4.0/examples/dashboard/

blog (pre-archive) https://getbootstrap.com/docs/4.0/examples/blog/

homepage https://getbootstrap.com/docs/4.0/examples/justified-nav/#

Other Stuff & Conventions

  1. generate components like ng generate service ServiceStateManager --flat=false
    1. prefix with component type so when we sort components are grouped
    2. non-flat to prevent so many files in one dir
  2. name services like service-a and componenets like component-b (ng cli compatible)
  3. it's a strongly embedded convention in Angular CLI that the main app & module are called 'app'