Success…?

For this blog post, I will be responding to the following prompt:

  • Discuss your biggest success during the course. What was your breakthrough, and why did it matter? What did you learn, about the technology, and also about yourself?

The Beginning, Scoping and Understanding the Codebase

Our project for this course is an industry sponsored web app that uses a Javascript React frontend with a C# ASP.NET backend. The company has had other teams work on the application before us, and so getting to a level of understanding the codebase and how the pieces fit together with minimal documentation was the first hurdle.

We had a few syncs in the beginning to understand what is expected for us to accomplish. The 6 person team was split in 2, with myself and 2 others working on the control plane and the remaining 3 working on migrating a database connection from an app a different team worked on to the current prototype.

After understanding that we need to work on Stripe for billing, and Auth0 for authentication, it became easier for me to focus on specific sections of the codebase and to come up with a plan of action for the control plane.

The Middle, Adding Stripe and Auth0 to the Control Plane

The first task was to understand Stripe and Auth0, as I had a very minimal understanding. This included reading and working through example programs via official documentation, tech blogs, ChatGPT and YouTube. Funny enough, the most helpful video I found when I was working on adding a Stripe via a React component and connecting that to a C# backend was a New Zealand developer with only a couple hundred views on YouTube.

I think my biggest breakthrough at this stage was in making a plan on how to implement Auth0 and Stripe once I understood the basics, and then scoping each PR as small as possible. This, I believe, is a skill that takes time to get right.

I interned and worked for the first time as a SWE this past summer, and one of the most pointed criticisms of my performance was that I made PR that were too large and had too many commits (I unfortunately did not receive a return offer for my troubles). As such, I wanted to make my PRs small and very easy for my classmates to peer review on the control plane side.

Another success I found was improved confidence in being able to debug when something goes awry. One example was that a classmate was working on sending a GET and POST to the backend, and the POST kept failing even though it should have succeeded as we provided a unique email that should trigger an if condition on the controller (this was a work around as the database was not working at that moment). We joined a video call together, and I had the teammate run the POST. I then pointed them to look in the developer console on chrome, to which we saw and error code (400). At this point it was ambiguous still, so there was more detail via arrow drop downs that I recommended to look at. Eventually, we found the issue. One of the fields we were sending in the post request was a string, but it expected an int on the backend, and this was returning a 400 status code for a bad request. We were able to update the id to an int and it worked correctly.

The End, Next Steps, What I Hope We Accomplish

We still have a lot to do at this point, and the main task I hope we finish is to finish building the workflow out for Stripe and Auth0. This requires a bit of design for when / how to send requests from the frontend to the backend, and when to query from Stripe / Auth0.

Additionally, we are still waiting on the database team to migrate all the changes from the repo with a database connection to the current repo, so that is delaying a bit of progress.

All in all, I feel more confident in my ability to jump into a new codebase and to make meaningful contributions.

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *