Noah Kawaguchi


Project maintained by noahkawaguchi Hosted on GitHub Pages — Theme by mattgraham

Project Post Week 4

Last week, I finished redesigning the auth and users domains to fit the new overall backend design focusing on separation of concerns and testability. This allowed me to basically complete the testing of the backend. I then encapsulated the API/web layer by making changes to the directory structure and module visibility. Specifically, the newly organized API module exposes only the router, making other parts of the app independent of the concrete Axum implementation. I also added spell checking and significantly increased frontend test coverage.

This week, I plan to work on adding post mutation: editing, archiving, and (soft) deleting. The past few weeks have mostly involved redesigning and testing, so this will be the first completely new feature work in a while. This will involve new implementations and tests across the stack, from SQL to React. I will also need to write new tests for the existing post creation logic since its behavior is dependent on post mutation being implemented.

I don’t really have any impediments this week. The amount of time I have available to dedicate to the project is a bit unpredictable, but looking back at how much I got done last week, I think I’ll still end up getting a good amount done even if I have slightly less time than last week.

As for my process, I’m getting quite comfortable with my flow of branches, commits, and pull requests. As expected, once the larger redesigns were finished, it was a lot easier to keep commits to a smaller size. One thing I would like to do moving forward is use issues and maybe even projects to get even closer to real-world collaborative workflows. For example, I should get in the habit of referencing issues in commit messages and automatically closing issues with pull requests.