I've always been quite fond of DIY's. Posts/videos/whatever where someone walks through the process they went through to build something. Not only do I find it to be super fun to follow, but I also find it super helpful when I embark on my own projects.
This is something I've always wanted to build, so I'm going to build it in the public eye and see how it shakes out.
It's important to note that my approach to this is very much a 'stream of conscious' type writing. I will make mistakes and unless they're insecure or absolutely terrible, I will just keep them in. My hope is that somewhere down the line, this will be helpful to someone who wants to follow along and see/read my thoughts and outcomes.
Table of Contents
- Part One - Building the empty projects and folder structure.
I am a record collector. Over the past many years I have amassed quite a collection and I'd like to keep track of it. There are other services that do this, and I use them, but I've always thought it would be fun to build my own. In theory, it's a pretty straight forward thing that could be used as a device to help explain and walk through bigger thoughts and ideas.
I plan to build this project in .Net Core from top to bottom. I'll probably use DbUp to manage my database and Bootstrap to make it all look nice. It is my intention to build everything from barebones forward and (when possible) using the most current versions of everything. I'd also like to venture into things like localizing, but we'll see how everything else shakes out.
The source code will probably be hosted in GitHub. It's easier to share it through there.
I'll probably handle hosting through Azure as well as CI/CD through Azure DevOps. These are just toolsets that I'm familiar with, so I feel I can better speak to using them and less to trying to figure out how to use them.
Where possible, I will try to Dockerize everything. This (should) make it possible for someone to replicate and run the project without ever hosting anything.
Depending on the day/time I will be working off of a whole myriad of machines and devices, but will almost always be using VS Code or Visual Studio as my editor. When possible, I try to avoid using full Visual Studio. It's a lot of complexity when I don't always need it. However, there are scenarios where it's the best tool for the job. I also like all of the formatting stuff you can do with it. I basically have a markdown file saved in Dropbox that I'm just updating as the source of record through this whole process.
The plan right now is to have these posts come out every week on Fridays, starting on March 15th. They will be posted on both my blog and on dev.to. I'll also try to keep this post up to date as a "Table of Contents" for navigation.
I hope you'll come along on this journey with me.