Marmicode
Testing Angular Components Using CypressBlog Post
Younes Jaaidi

Testing Angular Components Using Cypress

by Younes Jaaidi • 
Feb 18, 2021 • 6 minutes

Whatever framework you are using, and even without frameworks, component testing is a challenging topic as there is no one-size-fits-all approach. Jest and Cypress are gaining traction but do you also feel that something is missing in between? What if we could isolate and test our components in Cypress (with or without Storybook)?

You Will Learn

Required Skills

Spice Up your Caching with ConvoyrBlog Post
Younes Jaaidi

Spice Up your Caching with Convoyr

by Younes Jaaidi • 
Nov 16, 2020 • 5 minutes

Most web apps get their value from interacting with HTTP APIs. This is generally done using HTTP clients like the native fetch function, Axios or Angular's HttpClient. Once you set up an HTTP client on a web app then sooner or later, you will need to extend its capabilities in order to handle different topics like User Experience (e.g. pending requests indicator), performance (e.g. caching), resilience (e.g. automatic retry), and security (e.g. authentication). Luckily, most HTTP clients can be easily extended using interceptors so you won't have to wrap them or implement your own client. Even though implementing an interceptor can sound quick and easy, handling edge cases, testing and maintenance can get expensive. Wouldn't it be better if someone else could handle these issues for us?

Required Skills

Automating request validation with OpenAPI & Express GatewayRecipe
Younes Jaaidi

Automating request validation with OpenAPI & Express Gateway

by Younes Jaaidi • 
Sep 30, 2020 • 11 minutes

API Gateways are a nice place, if not THE right place for handling request validation and responding with human readable and uniform error responses. Implementing the validation manually for every API would be a mess... but wait, what if this could be done automatically by simply feeding our OpenAPI Specification to a gateway like Express Gateway.

You Will Learn

Required Skills

Setup Express GatewayRecipe
Younes Jaaidi

Setup Express Gateway

by Younes Jaaidi • 
Aug 4, 2020 • 11 minutes

Express Gateway is an API Gateway built on Express.js. It has the advantage of being simple and minimalist but also flexible and highly extensible thanks to JavaScript plugins. This recipe will show you how to quickly setup Express Gateway as an API Gateway.

You Will Learn

End-to-End HTTP request cancelation with RxJS & NestJSBlog Post
Younes Jaaidi

End-to-End HTTP request cancelation with RxJS & NestJS

by Younes Jaaidi • 
Feb 20, 2020 • 6 minutes

Life is too short. When searching for something, we can’t afford to type a whole word or sentence in a search field, or filling all the fields then hitting our old keyboard’s half-broken enter key to finally be able to see the first results... or nothing at all because our search criteria were too restrictive. Don’t look at me like that! We can probably agree that most of us, if not all, are used to features like typeahead and live search results. We get frustrated every time we have to submit a search form.

You Will Learn

Required Skills

OpenAPI Specification Basic StructureDocumentation

OpenAPI Specification Basic Structure

Dec 31, 2019 • 3 minutes

OpenAPI Specification (formerly known as Swagger) is a format that allows you to describe and document your HTTP API or ReSTful API from the interface to the authentication schemes and the permissions required for each route. A wide range of tools can use the OpenAPI Specification format to help you manage the lifecyle of your APIs from designing them to securing them while improving API consumers Developer eXperience.

You Will Learn

Boost Your Time to Market by Dancing the LimboVideo
Younes Jaaidi

Boost Your Time to Market by Dancing the Limbo

by Younes Jaaidi • 
Jul 5, 2019 • 33 minutes

Stale or long-lived branches, conflicts & huge code reviews can cause technical and human issues in your team. In this talk, Younes demonstrates some alternative and sometimes extreme approaches promoting single-branch development with techniques like Limbo, Timeboxed TDD and Test && Commit || Revert.

You Will Learn

Required Skills

Your Angular Module is a SCAM!Blog Post
Younes Jaaidi

Your Angular Module is a SCAM!

by Younes Jaaidi • 
Mar 12, 2019 • 4 minutes

Angular modules can bring some complexity to your app. Choosing the right modules architecture is tricky... but wait, do we really need modules?

You Will Learn

Required Skills

A New Syntax for Angular TemplatesBlog Post
Younes Jaaidi

A New Syntax for Angular Templates

by Younes Jaaidi • 
Mar 11, 2019 • 4 minutes

One of my favorite things about Angular is how the template is just a simple HTML file. This is really great; especially if you care about Collective Ownership. With some basic HTML knowledge, anyone can contribute to the application’s development: other teams, external web designers… or even the Client or Product Owner! Why not!? In other words, using HTML templates reduces the TTFC (Time To First Commit) which is the average time it takes for someone new in your team to make his first change.

You Will Learn

Required Skills

Introduction to Angular ModulesDocumentation

Introduction to Angular Modules

5 minutes

Angular Modules, or NgModules are the main modularity system in Angular. They are fundamental for architecturing & structuring our apps and libraries in a performant, readable and scalable way.

You Will Learn

TypeScript in 5 minutesDocumentation

TypeScript in 5 minutes

5 minutes

Unsurprisingly, the official TypeScript documentation contains one of the best introductions to TypeScript.

You Will Learn

Angular CLI Overview and Command ReferenceDocumentation

Angular CLI Overview and Command Reference

5 minutes

An introduction to the Angular CLI by the Angular team.

You Will Learn

Angular ComponentsDocumentation

Angular Components

8 minutes

Controlling the behavior of a whole application or page can quickly get tricky if we don't split it into smaller chunks. In Angular, these chunks are called components. Every component is reusable and allows us to control the display and behavior of some part of the application or page. This official documentation gives a nice introduction on how components work.

You Will Learn

Lazy-loading Angular ModulesDocumentation

Lazy-loading Angular Modules

9 minutes

Angular apps, like any other kind of apps, can get big. One way of optimizing our apps is to avoid loading modules that we don't need immediately. This is called lazy-loading. You can learn more about it in the official documentation.

You Will Learn

Required Skills