The component library itself is a lerna/yarn monorepo based on React and Styled Component built with Emotion. Each component of the DDS library was a yarn workspace package that let us build, test and release them individually and also as a whole. Additionally, each component would provide its own MDX documentation that would get bundled in a DocZ website which served as our internal documentation explaining how each component had to be used to all the other frontend developers at Docker. I focused a lot on this project on testing and releasing these components and built several Jenkins pipeline to automate most of these processes so we could develop and publish new components faster.
This frontend project was perhaps the biggest internal project I got to work on. Its scope spanned across the whole product development org at Docker and brought together what was a disjoint product experience to a single unique vision for Docker UIs. I got to learn a lot about automating the testing and publishing phase while working on this project. I've never got to play with tools such as Jenkins before, but this project was the perfect opportunity to learn more about it. Additionally, I got to work a lot on specs and documentation, which were key for this project to be successful.
Despite this project being extremely important for the business, we were only a handful of developers working on DDS part-time. Hence why automating most of our process was key for this project to move as fast as possible.
The scope of this project was spanning across all Docker products. Hence we had to rethink our mental models regarding React component design, API designs and also quality/accessibility. We wanted each component to meet high accessibility and testing requirements out of the box for them to be reliable for all the other frontend engineers at Docker using them.