It's taken about one month of self-teaching ASP.NET to build this portfolio website from scratch. Now you're probably wondering why the heck I would want to build such a thing myself instead of using a CMS such as Umbraco, Joomla or WordPress. The answer is simple: I wanted to do it for the experience. I wanted to know how it all works under the hood. I believe once you understand the inner workings of a system or architecture, working with, or building similar projects or systems becomes so much easier.

The First Week - Decisions

This was probably the hardest week of all, where the temptation to jump to a pre-made CMS was at its peak. I was heavily considering WordPress on PHP because it is what I was most familar with. What stopped me, as cheesy as it sounds, is the number of ASP.NET roles out there right now. If ever I was to expand my skillset away from independent game development, now was the time to start learning!

Most of the first week was spent reading up on ASP.NET tutorials. I started out with a plain, non-MVC based portfolio which worked pretty well but ended up a complete mess on the code side, as you would expect with a first attempt at something you've never done before.

The Second Week - Learning

I had always managed to dodge working directly with MVC as a game developer. However, there was no escaping it this time around. I had seen that MVC can make life a lot easier when building a web-app under ASP.NET. Amazingly, it only took about 6 hours before I had learnt enough to have my first working (albeit basic) web-app version of my portfolio running. It was still a mess, but it felt great to make so much progress during this week!

The Third Week - A Step Back, Then Forward

The portfolio site structure was pretty much finished, I had a spot prepared for my CV, contact and blog pages. Then came the part of actually building the blog system. I felt like a complete newbie again, but not for long. It took about two days to get to grips with the identity system (Microsoft's fancy login/user management framework) and produce a basic login system. Was it secure? nope, not yet anyway.

The Fourth Week - Polish

By this point in development, the website was mostly finished. I was able to login, make blog posts (with formatting!) and add, remove and re-order project banners on the main page via a small back-end system. It feels like a tiny CMS. Much of the fourth week was spent adding the finishing touches to the layout and ensuring it functioned as expected from a responsive layout. I also felt like a pro with Bootstrap at this point, but there's no doubt that I still have a lot to learn about it.

Hosting

I decided to run the whole stretch and try my luck with Azure. I spent another eight hours figuring out everything needed to host a small portfolio via the Azure dashboard. It's surprising how simple it actually is. Kudos to Microsoft for making an otherwise complicated task seem like a walk in the park. Everything in the Azure dashboard is organised in a meaningful, self-describing structure.

Conclusion

Having achieved a fully working portfolio website with its own miniature back-end system, I feel like I've built a great foundation to further-extend my knowledge of ASP.NET and MVC. While there were a few frustrating points a long the way, I enjoyed the project greatly. The best part is, I have something to show for it!

I hope you like my portfolio site and if you would like to get in touch, contact me!