Skip to content

Aims and Groundrules

Tom Randell edited this page Jun 7, 2020 · 3 revisions

🎯 Aims

The aim of ACL is to make setting up angular projects as quick and easy as possible so that I/we/other developers can spin up an idea as quickly as possible.

Why Angular?

Because:

If you're having frontend framework problems I feel bad for ya' son, I got 99 problems but my frontend framework ain't one!

Each concept should be encapsulated within an Angular project library that can be test, developed, built and packaged/deployed in isolation.

In order to make this a bit easier I have started work on an npm package that allows you to build and serve all/multiple library projects without having to keep opening multiple terminals etc. You can find extensive documentation for this here:

https://github.com/chapi-chapi/ng-libs-helper#ng-libs-helper

📏 Groundrules

Each project library should have:

  • naming convention of @chapichapi/ngx-{library-name} - this should be handled by the libs.config.json.
  • Extensive unit tests via karma.
  • Cypress tests where applicable.
  • Extensive documentation with clear instructions on usage.
  • Comment coverage via summary/documentation comments.
  • Visual components should be based on Ionic and/or angular material.
  • Project folder structure should be as follows:
|- projects/chapichapi
    |- ngx-some-library
        |- src
            |- lib
                |- components
                |- interceptors
                |- models
                |- services
            |- ngx-some-library.module.ts
...
Clone this wiki locally