Brighton / Worthing
Angular 2+ Meetup

@Angular2bes - a group for Angular Enthusiasts in Sussex

Latest Meetup Notes

Here is a link to a Google doc with our latest meetup's raw notes, so you can get the latest links and downloads before this site is updated.


It's not pretty but it means meetup attendees can follow along as it happens.


New Year Angular Meetup

Meetup January 16, 2019

Speaker: Tom White

Angular service worker

ng add @angular/pwa --project *project-name*

ng build --prod


describe ( it( ) )

fit( ) - only this one

xit( ) - exclude

(done) => {

async (done) => {

spyOn( (<any>class), ‘privateMethod’)

spyOn( ClassThatGetsNewedInsideYourMethod.prototype, 'methodName' )

serviceSpy = jasmine.createSpyObj(serviceName, [ 'stubbedMethod1', 'stubbedMethod2' ]);

A fix to my previously failed service mocking demo:

observableSpy = jasmine.createSpyObj('anotherService', [ 'methodReturnsObservable' ]);

subscribe: () => {},

Nrwl Nx

ng g app new-app-inside-workspace

? In which directory should the application be generated?

? Would you like to add Angular routing? Yes

? Which Unit Test Runner would you like to use for the application? Karma [ ]

? Which E2E Test Runner would you like to use for the application? Protractor [ ]

? Which tags would you like to add to the application? (used for linting)

Material Theming



Net Ninja:

MPJ on Javascript:

Thenewboston Angular FREE:

State Management with Akita

State Management with Ngrx

Two nerds don’t make a right


Angular 7 & Angular Connect review

Meetup November 21, 2018

Speaker: Tom White


Angular 7 top 10 features


Angular Elements

Gordon’s good German reference site


Angular (6) Elements demo


...from: Getting Started with Angular (6) Elements

Angular Material 7


Virtual Scroll


Drag Drop

Angular Connect


talks and videos from the conference

Angular Elements inside AngularJS
Angular libraries vs Nrwl Nx vs Micro Apps
...what are Micro Apps? Nest the backend for your Angular application
Testing Angular with
VS Code Can Do That - Live Share




Angular CLI build params




WallabyJS Testing


Angular Console & Testing Observables

Meetup October 3, 2018

Speaker: Tom White

Angular Console - improves discoverability of the Angular CLI

­ - testing Observables example and discussion

­ - AOT is now by default (since Angular 6)

­ a new testing framework that Paul recommended


Good test configuration for better info:
ng test --source-map=false --code-coverage


Excellent PWA article from Hot JS (recommended by Gordon)


Discussed benefits of Cordova vs Ionic vs Titanium for Web View mobile applications


Discussed some recommended accountants:
Churchill Knight Ltd
K&B Accountancy Group

Structuring Angular Apps

Meetup June 27, 2018

Speaker: Tom White


In most cases, use the Angular CLI

If using the Angular CLI, utilize 'ng update' when possible

Follow the Angular Style Guide

Visual Studio Code is the recommended IDE

Use Prettier, code formatter

Use Move TS to simplify refactoring:

Use John Papa’s Angular Essentials:

Consider folder structure:

Review your project output with source map explorer



Utilize Component Architecture and Feature Modules.

Lazy load resources whenever possible

Smart / Container Components : Communicate with Services and render child components
Dumb / Presentation Components: Accepts data via inputs Emit data change via event outputs

Data flows down and Events emit up. 
One-way dataflow promotes reusable components and can increase performance

Make use of TypeScripts advanced features when possible. ES6 and ES7 commands means less code, and clearer intent.

Avoid doing much in the constructor of a component. Utilize the lifetime hooks e.g. ngOnInit

Use trackBy option for *ngFor directive - “Angular 2 — Improve performance with trackBy”

Recommended Virtual Scroll component:

Wildcard routes for 404 handling

Use Environment Variables when you have to change values for dev or prod



Use Async Pipe as much as possible - it reduces boilerplate. But if you can't, remember to unsubscribe any observables that can still be running in ngOnDestroy

ShareReplay() -

Gotcha: multiple Async pipes for the same API request will call the API multiple times

Use the pipe() method in RxJS 6.0 (started in 5.5 but got better in 6)



Nrwl Nx for larger apps or, if you want to reuse chunks of code.


State Management

Ngrx is currently the recommend library for application state management. Keep an eye on Mobx.

Deborah Kurata Pluralsight -

Angular 6 & Pick N Mix

Meetup March 28, 2018

Speaker: Tom White

Angular 6 key features - free course


Nwrl Nx toolkit for enterprise Angular applications

ng-packagr for creating library packages.

Unit testing

  • WallabyJS Integrated Continuous Testing Tool for JavaScript


Gordon recommended


Angular Material 2 & Angular 5

Meetup November 16, 2017

Speaker: Tom White

Angular Material is a library of modern UI components that work across the web, mobile and desktop

Angular state and NgRx

Meetup October 4, 2017

Speaker: Tom White

RxJS powered state management for Angular applications, inspired by Redux

NgRx 4 - fantastic reference:

NgRx Experiment 1 (using version 4)

Experiment based on getting-started example

NgRx 4 root

Root NgRx 4 github location


@ngrx/store getting-started example


@ngrx/effects getting-started example


Instrumentation with the Chrome / Firefox Extension

Need to set your Action interfaces to carry payload

The payload property has been removed from the Action interface

GraphQL Throwdown

Meetup July 19, 2017

Speaker: Tom White

GraphQL is a query language for your API, and a server-side runtime for executing queries by using a type system you define for your data.

GraphQL 'Star Wars' example using GraphQL for .NET, ASP.NET Core, Entity Framework Core

JacekKosciesza / StarWars

GraphQL Playground an excellent practice area

GraphQL reference:

HTTP & Observables

Meetup May 31, 2017

Speaker: Tom White

A representation of any set of values over any amount of time. This the most basic building block of RxJS.

HTTP & Observables - slides

From Promises to Observables (briefly)

HTTP, Observables & Testing Workshop

Download code from here

Is Angular 4 Baked Yet?

Meetup March 22, 2017

Speaker: Tom White

Here are some highlights about Angular 4

5 Features To Watch Out For in Angular v4

Services Workshop

Part 1
Sharing values

Part 2
Sharing values between components using Observables (BehaviorSubject)

Angular 2 Back To Work

Meetup January 28, 2017

Speaker: Tom White

Slides: Angular 2 Intro

Workshop: An Opinionated Introduction to Angular 2 CLI


We are a free local meetup group of Angular 2+ enthusiasts; unsponsored and community driven.

We hold workshops and discuss current Angular topics.

All levels are welcome. Our members comprise beginners and experts.

We meet at The Skiff in Brighton. (Google map)

If you would like to request a topic for us to cover, or even present, get in touch.


You can contact us all these ways: