DEV Community


Posted on


Starchart: Picking a project area

As we continue to work on developing starchart, which is a project that aims to make it easier to Seneca developers to create SSL certificates (without worrying about the costs or the need to provide personally identifiable information), a list of task groups has been created to make it easier to visualize the different parts of the project. These include Web, Testing, Server, DNS, etc. (full list here).

I have spent the last week thinking about where I can contribute. An obvious choice was Testing as I spent the previous week researching Playwright, which is a framework for end-to-end testing. As I looked into some of its features, I found that it has auto-wait functionality for its tests by default. Basically, before an action is performed on an element(e.g. click), it will wait for it to be in a specific state (e.g. attached to the DOM) based on the action. This reduces flaky tests which fail if a statement executes before the element is ready.

Further, through Codegen, tests can be automatically generated based on actions performed in the browser. This should reduce the time required for writing tests quite a bit. So, in addition to working on testing, I also decided to contribute to the Web component, which involves building the pages for the app. This will be done using Chakra UI and Remix. Chakra UI provides a bunch of components for different needs such as tooltips, cards, popups, and many more. I have worked on building webpages a lot in the past five months, and even though I have never used Chakra UI, I think I would still be able to utilize some of that experience here.

Finally, this is meant as a guideline, and not restrictions, for which parts of the project I would like to contribute to.

Top comments (0)

An Animated Guide to Node.js Event Loop

Node.js doesn’t stop from running other operations because of Libuv, a C++ library responsible for the event loop and asynchronously handling tasks such as network requests, DNS resolution, file system operations, data encryption, etc.

What happens under the hood when Node.js works on tasks such as database queries? We will explore it by following this piece of code step by step.