I've recently started a massive refactoring of a personal project and as part of that effort, I've decided to blog about the process. The original project, XGallery3, was a desktop application I wrote for my wife (an artist) to help manage her collection of artwork and create layouts for her shows. I also used the project as a testbed for new technologies, architecture patterns, and development tools. I documented part of the development on Facebook (https://www.facebook.com/SleepingBearSystems).
As part of the refactoring, I planned to turn the application from a monolith desktop application into a web API backend with a React front end. I've also been experimenting with how to handle persistence so I've set up several different database servers (Postgres, MySQL, MongoDB, and EventStoreDB) to test different persistence approaches.
I started with C# and .NET Framework 4.5 and but 5 years later, the plan is to use F# and .NET Core for the backend and Typescript for the front end. I've also updated the build process. Gone is the old approach of building the code using Visual Studio Express 2017. Now I have a host TeamCity build server linked to my GitHub repositories with deployment to a Docker host server running in my home lab.