What/Why?

This is a simple PHP/MySQL web app that I coded a long time ago. I used it at a former employer as a type of Wiki/documentation website.

What you're looking at right now is the new and improved version. I spent some time rebuilding this app using modern coding standards and development practices. It was a fun project that I wanted to do specifically to practice my Azure and DevOps skills.

If you want to browse this site, then you can start by clicking the All link in Navigation bar at the top.

Where/How?

This is hosted in Microsoft Azure, using an Azure Web App Service, which is considered Platform-as-a-Service (PaaS). I'm using the free tier, so it costs nothing for me to run this app! There are a few drawbacks to the free tier, but they're acceptable for this project.

I configured the Web App to use Windows & PHP. I chose Windows because Linux Web Apps do NOT support the 'MySQL In-App' feature. I need this feature because it's a very simple way to implement MySQL. Plus, MySQL In-App shares resources and pricing with the Web App Service. That means MySQL In-App is also free for me to use!

More Info

If you'd like to know more, then I go into a little more detail on my blog. You can check out my blog post HERE.

There's not much use for this kind of app nowadays, as better solutions exist (like a Wiki). But, I eventually plan to make this open source and share the code. However, I want to do a few things first, like implementing a couple more features I had in mind, as well as cleaning up the code a bit.

Azure DevOps Boards

I'm using Azure DevOps Boards to track and plan my work using modern Agile methodologies

I went with a simple Kanban process and board, because this is just a side project after all. Trying to box myself into timed Sprints using Scrum would not have worked for me as I didn't know how much time I'd have each day to work on this.

Azure DevOps Repos

I moved my code into a private Git repository hosted online with Azure DevOps Repos.

I didn't do anything crazy with my branching strategy, just used a nice, simple Trunk-Based Development workflow.

Visual Studio Code
I used VS Code for all of my development. I utilized a couple of extensions (Azure Repos, Azure Pipelines) to make my life easier.
Azure DevOps Pipelines

I used it to implement full CI/CD for this project.

A Build Pipeline watches for changes in the Git repo, and runs a build whenever new changes are found.

A Release Pipeline watches for new builds, and updates the Azure Web App whenever new builds are found.