LaaS steps

Blog posts dedicated to Pull Requests, tutorials explaining each step in the process of building LaaS.

Step 15: 100% code coverage for backend end to end tests

Since we now have thorough code coverage reports, let’s get those coverage numbers to 100%. This PR does it for the backend. Oh god, I just noticed the branches are not fully covered! It’s all green, so I thought it’s done, but now as I’m publishing the screenshot I’m noticing some branches are still not …

Step 15: 100% code coverage for backend end to end tests Read More »

Step 14: code coverage for cypress end to end tests with istanbul

This PR is more about setting things up then it is about programming. Oh well, that’s what modern programming consists of for the most part – integrating third-party packages and then hacking around to make them do what’s required. Making cypress e2e tests work with istanbul is not trivial, especially for the backend – but …

Step 14: code coverage for cypress end to end tests with istanbul Read More »

Step 13: Angular CDK overlay backdrop fix for menus and selects

Isn’t it annoying when you open an Angular menu or select, the backdrop traps all mouse events? Here’s what I mean: Note how there’s a mouse hover effect on menu items, but once we open the user menu or the Bitcoin unit select, the effect is gone? It also takes 2 clicks to open the …

Step 13: Angular CDK overlay backdrop fix for menus and selects Read More »

Step 11: reset password

Reset password form is similar to existing forms; here’s what it looks like under test found in reset-password.spec.ts: There’s also a lot of refactoring in this PR. Happy New Year everyone ๐Ÿ™‚ Cheers,Andrew

Step 10: TransferState for optimal SSR

In this PR we finalize our SSR with TransferState – a module for optimal SSR performance that allows preventing the browser to repeat API requests just used by the server to render the page. Here’s a good article on how it works: https://medium.com/javascript-in-plain-english/build-faster-javascript-web-apps-with-angular-universal-a-transferstate-service-and-an-api-b7e4afd0fe9c There’s also a little bit of refactoring and housekeeping. Our SSR gets …

Step 10: TransferState for optimal SSR Read More »

Step 9: lottie animations

Lottie is a cool animation library from Airbnb, they have a lot of freebies at LottieFiles, why don’t we use them. Integrating lottie into an Angular app is elementary – we just install ng-lottie and adding an actual animation is just a few lines of code, see email-sent.component.html: Nice and easy, and it looks amazing …

Step 9: lottie animations Read More »

Step 7: receive bitcoin

The actual Bitcoin transactions and Lightning Network invoices are going to be handled by core – it’s not yet part of this Pull Request, but we’re preparing for it by adding backend-shared, a library with interfaces and enums shared between backend and core, see angular.json: Here, we introduce the first two core API urls in …

Step 7: receive bitcoin Read More »