Sean is Coding #10 - Tackling APIs, Jobly, and a TheraGPT Update π
Hey everyone!
Welcome to the 10th edition of Sean is Coding. Time flies when you're having fun β I seriously can't believe we're already at double digits in this newsletter. With that said, let's dive right into what's been going on this week.
This week was primarily spent tackling a large backend project: developing the API for a fake job board service called "Jobly." We spent three of our five days with our pair programming partners and dove deep on the area with a heavy emphasis on test-driven development, security, authentication, and authorization, and simply keeping code clean and well organized.
With a codebase as sizable as this one, keeping everything straight quickly became a challenge and really highlighted for me why itβs so important to maintain good naming conventions and predictable file structure.
Jobly was also our first chance to work with the concept of maintaining βtest coverage,β in an app. We were given an existing but incomplete codebase that already had close to 100% testing coverage, and our challenge was not to let that percentage drop. So we were encouraged to lean on test-driven development (TDD). TDD is a process where you write tests for the code before writing the code itself. It helps you ensure that your code is meeting the requirements and is less likely to have bugs. It's been a bit of a mental shift, but it did not take long to see the immense benefits of leading with testing. Obviously, TDD isnβt always possible, but when you have the time to work this way, it is surely the best process for writing near bulletproof code.
We also flexed a lot in the way of security this week, building out authentication and authorization routes and their corresponding middleware. And we employed some different techniques to protect our service and its users from attacks.
Separately, I'm excited to announce that TheraGPT has finally grown up and graduated to living at its very own URL: theragpt.ai! I've given the site a fresh coat of paint to provide a little more personality, and we now have uptime monitoring to eliminate cold start latency and keep each request fast. So go ahead and check it out! Iβve already heard some really inspiring stories from people who itβs helped out!
As always, thank you for joining me on this adventure, and I hope you find these insights as interesting / exciting as I do. Stay tuned for more coding stories and updates on my journey to software engineering!
Until next time,
Sean