About This Site
Learn what went into building this website
Why I Built This Site
I built this site to showcase my skills as a .NET web developer. I wanted to create a site that was visually appealing, easy to navigate, and responsive on all devices. I also wanted to create a site that was easy to update and maintain, so I decided to build it using Blazor.
How I Built This Site
I built this site using Blazor, a web framework from Microsoft that allows you to build interactive web applications using C# and .NET. It is being hosted on Google Cloud Run in a Docker container. The source code is hosted on GitHub, and I used Visual Studio Code and Visual Studio 2022 for development. The site is deployed using Google Cloud Build.
While functionality is minimal, the site is built using many best practices.
Test Driven Development
Tests were written first, identifying behaviors and the product of those behaviors. The process typically follows a cyclical pattern known as the "Red-Green-Refactor" cycle.
Dependency Injection
Using DI container technology, I'm able to inject needed dependent services into other services. This is also an important part of being able to properly test code.
Error Handling
I believe good applications should never crash. Guarding against crashes is only half the problem. Handling errors is just as important. The user deserves to understand when there is a problem and what the application expects of them.
Interfaces
Not all services can or will be replaced. However, using interfaces allows proper testing. And in those cases when you switch from one email service provider to another, it makes switching so much easier.
Vertical Slice Architecture
Modularity, independent development, focused testing, faster delivery, and scalability are just a few of the advantages of Vertical Slice Architecture.
DRY and SOLID
These coding pricipals have been around for a long time for good reason. These make code easier to maintain and evolve over time.