Establishing a Design System improves the quality of a product for the people creating and maintaining it and offers the end-user a better experience. While building a Design System prior to creating a product is the best approach, you may find yourself in the position of having to create one retroactively. Instead of having made documented design decisions prior to development, you have to identify existing patterns and consider how best to standardize them.
Subscribe
Get our best content on how to build better apps.
Subscribe
Get our best content on how to build better apps.
Got product development questions?
Join us on
Discord
How to Solve Common Value Boxing Issues in ngrx-forms
The ngrx-forms library is a valuable tool for bringing Redux-style state management to your application’s forms. However, its concept of Value Boxing hides a few pitfalls that can be tricky to troubleshoot.
Learn what Value Boxing is and find out how to parse common error messages and add Value Boxing to your ngrx-forms.

Jonathan Spickerman
How to Break Down Epics into User Stories
I’m going to show you a technique to rapidly build effective stories for apps and websites. We use this technique on client projects to quickly build bite-sized stories that maximize customer value, avoid risk, and minimize blockers.

Justin Meyer
Why You Should Move from Selenium to Cypress for Angular
End-to-end tests are meant to simulate a user interacting with your website. Selenium took the approach of building browser plugins that allow tests to interact with the browser, similar to how a user would. Cypress tests run inside the browser with an accompanying Node.js process for observing and controlling the network. This gives Cypress insights into the application's execution that Selenium doesn't have.

AJ Wiebe
How to Set Up AWS RDS Proxy with ClickOps
Amazon RDS Proxy is a service from Amazon Web Services (AWS). It's a fully managed, highly available database proxy for Amazon Relational Database Service (RDS) that makes applications more scalable, more resilient to database failures, and more secure. What I like most about RDS Proxy is its ability to speed up recovery from RDS failovers, from as much as 10 minutes down to 15 seconds or less. I'm sure all you SREs and TPOs will appreciate this too.
That sounds great, right? Well, the truth is RDS Proxy is not easy to set up, and getting the configuration right takes extensive searches of the internet including both AWS documentation and third-party sources, and you STILL may need to contact AWS Technical Support.
I'm going to show you how to set up RDS Proxies via ClickOps, both for a new environment and for adding a new service. Future articles will cover CLI and TerraForm approaches.
Overview
As a member of the DevOps/SRE team at Bitovi, I was asked by one of our Bitovi clients to investigate POC RDS Proxy for use in a large-scale microservices system. After trial and error and time spent on a call with AWS support to better understand a cryptic error message or two, I was able to get things working well. From that experience, I built a procedure to set up an RDS Proxy between your services and RDS/Aurora clusters with a minimum of time and headaches. I am sharing that procedure with my fellow infrastructure engineers here.
Below are the steps needed to successfully set up RDS Proxy, as well as some helpful debugging information. First set up your AWS account and your RDS instances if you have not already done so. To get started on the RDS Proxy-specific steps, you will create Secrets in AWS Secrets Manager in the format required by RDS Proxy. Next, you will create an AWS IAM Policy and IAM Role. Then you will be ready to create the RDS Proxy. Finally, I'll show you some testing ideas so you can be sure everything is working correctly.

David Rivkin
How to Create Custom ESLint Rules (It's Not as Hard as You Think...)
Most teams develop patterns or preferred ways of writing code, but it can be tedious to enforce adhering to those patterns, especially for new team members onboarding. To help this, we rely on linters for basic formatting, but did you know you can take preference-enforcement to the next level by writing your own lint rules?

Fábio Englert Moutinho
Testing Angular Applications End-to-End (E2E) with Cypress
As an Angular developer, one of your most important skills is testing. You need to test your application before releasing it to make sure it is working correctly. But even with testing, the truth is that you always miss some bugs. That's why an experienced developer will always advise you to test your code to reduce the number of bugs that go to production either with end-to-end or unit testing. Read on to learn what end-to-end testing is and how to use Cypress to make it easy.

Denison Luz