Thus far I have a single service in Fan.Blog that handles everything, it's called BlogService. As my code grows this becomes less maintainable, with each new feature I want to add to the blog I have to pile on top of this class, not to mention it's less than ideal if there are others working on the same project and everyone modifies one file. So I wanted to break this giant service class into smaller more focused services.
Today I release Fanray v2.0-a2, building on v2.0-a1 released from last week. This release provides the ability to preview a post (issue #208) and other fixes.
I implemented Vuex in my project this week, I'm new to Vuex and this is what I learned. In a Vue app when you need communication between two components, you have the following choices Use events Create your own simple store Use Vuex
Fanray v2.0-a1 has been released! Fanray v1.0 was a minimal viable blog, you could only post through a client like the Open Live Writer. Fanray v2 builds on v1 and introduces a brand new Admin Panel you can now easily manage your blog's posts, tags, images etc. Here are a few highlights and tips to get you started and please check out the Wiki for more details.
This week I got my first PR thanks to Flyznex, he helped fix issue #234 Login has a very slow response and along implemented a better way to verify if a string is a valid email. The issue came up when I found that sometime when I login it took a long time.
It's been a year since v1.0 was released, to be able to release more often I need to put in more effort to issue management and planning. As part of that I want to have a Roadmap that highlights roughly what's coming in the foreseeable future, but first I need a versioning scheme that could work for me.
I wrote once previously about how I used EF Core migrations to upgrade production database. I have two slots production and staging and I swap them every time I push new code that don't involve database changes. This week I had to make a data change to production database, it's a reminder of when to use the Swap with preview feature provided by Azure App Services.
Fanray uses Serilog and practices Structured Logging. This post explains how it sets up and uses Seq and Structured Logging to easily search through logs, analyze a particular request and more.
If you ever get these CS0246 compiler error saying "type or namespace name could not be found" and pointing to your ".g.cshtml.cs" files of your Asp.net Core application, go check your ".cshtml" files.
An unit test failed when I built my code on BitBucket, it threw System.TimeZoneNotFoundException. It happens where I try to convert a UTC Time to local time in a specific time zone. Interestingly the same unit test passes on my local running Windows 10 and on Appveyor.