I have started this blog in the beginning of June. Mostly it was not about content, but about making something quick and complete, using technologies, that I’m not very aware. The most unknown thing for me was docker, and how to mount external volumes into it. For sqlite it worked well, and first version appeared very quickly.
But then, I have tried to use Migrations, very powerful entity framework feature, that allows db versioning and making modifications to it relatively easy (if you are not working in 10+ branches among 6 developers in separate teams, but that night alerts story is different).
Turns out, that sqlite does not allow
ALTER TABLE and this makes continuous changes very hard (in context of proper usage .net core). Another alternatives were SQL Server, with es waaay too overkill for small blog engine (based on vm linux with 1 gb ram) and MySql, that didn’t have proper adapter to core 2.0 by that time. Also, the way, how I pack everything into container, seems to be broken and I cannot restore new packages on vm.
I spent a lot of time, figuring, how to make it proper and how to avoid these problems. Instead of adding features and improve code architecture, I was thinking about deployment process. This is especially difficult, when you have regular job, wife, son and, besides, you are addicted gamer. Last code update, that goes to production, was three months ago.
Keep it simple, stupid.
One day on work I have nothing to do (well, I supposed to test some features for the third time, but no, thanks). Two evenings and base thing was ready. Nothings special, no Identity features, no entity framework (well, on in-memory database), no npm dependencies.
On start, engine search for *.md files, read some metadata (title & date) and create html and push them to memory db. Only one page, that take optional page number, query 10 posts from db and show it. No admin pages, no logins, no version history or any other fancy features. Of course, I have roadmap (notepad entry) with staff, that I want implement, but for now it’s more than enough. Let’s call it v 0.1. Several hours and you got the result.
Thats why we are making side projects, right?