Starchart: Certificate back-end integration
Tags: webdev, programming, typescript, chatgpt
Published: 2023-03-26 22:14:55

# Starchart: Certificate back-end integration #

The progress this week hasn't been ideal when it comes to contributing to our open source project [starchart](https://github.com/DevelopingSpace/starchart). Learning how the back-end function works took an entire's day of work. Partner it up with my other project for my other course, and it just feels overwhelming. Of course, the fault can be mainly attributed to my irresponsibility of handling the time I spend with individual courses.


### Learning how the function works ###

Looking through the code presented by the certificate [queue function](https://github.com/DevelopingSpace/starchart/blob/main/app/queues/certificate/certificate-flow.server.ts), it can be a bit confusing, when looking through it the first time. When first looking through the code, sweat and a sense of panic engulfs me as I usually do. When it was me at the start of the course, I would just suck this up, and try to learn everything by myself, which can lead to more confusion, and time wasted. However, that wasn't the case this time around. I asked my peers on how things works, which increased the speed of my progress. 

#### ChatGPT ####

One thing I did that other people may considered as "taboo", is the used of ChatGPT. I would never suggest this to anyone who just wants an easy answer. The benefits of AI for us developers is not that it can write us what we want (at least for now...), but that it provides us with information that can help us better our knowledge. I will provide you with an example from how I tackled my [issue](https://github.com/DevelopingSpace/starchart/pull/434).

___

When starting my issue I tend to look at what other contributors has done in the area I will be working on. In this case I'm looking at the UI. Thankfully enough, a fellow contributor had already merged a PR with [DNS-Records](https://github.com/DevelopingSpace/starchart/blob/main/app/routes/__index/dns-records/index.tsx). I messaged them, and asked how they did their code, but unfortunately they didn't respond(Not their fault, it is a busy semester), then I went to ask another who developed the [function](https://github.com/DevelopingSpace/starchart/blob/main/app/queues/certificate/certificate-flow.server.ts) that I will be using. Unfortunately, they have a class that day, and couldn't answer my question at the moment-- another few hours spent figuring things out

Do you notice a pattern? People are busy, and there's nothing you can do. You can figure things out yourself, but more than likely you would not find an answer. I do recall being mentioned from the previous meeting about a file that does the function step by step that being [dev.tsx](https://github.com/DevelopingSpace/starchart/blob/main/app/routes/dev.tsx). There I noticed another similar pattern from the DNS-Record, and that is the "action". Thus I asked ChatGPT...

***What condition can cause "action" to run?***

Of which it provided me with the information that I wanted

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tfulg5app9l3d7iessdx.png)

That is when everything clicked to me. I finally understood how he handles the connection, and I managed to finally start making progress. By the end of the day, I finally managed to create a certificate, and although it wasn't perfect it did provide me with a sense of ease that I may actually complete this by the end of this milestone. I forgot to mention that after knowing this, I figured out that [action](https://remix.run/docs/en/1.14.3/route/action) is actually a [remix](https://remix.run) route module, which boosted my understanding of it.


#### Conclusion ####

This week has been quite stressful, but thankfully it made me realize the importance of information. ChatGPT speeds up our ability to learn things, by providing us fast and accurate answers. It may not have given me the answer I "wanted", but it did provide me with information that I "needed".