Let's start coding

Let's start coding

In a previous article, I highlighted several positive aspects of creating a personal blog and emphasized the value of building the core from scratch to gain additional experience. This decision led me to embark on the journey of implementing my own website. In this article, I aim to delve into the roadmap of the website, its current status, the tools employed, and the experiences gathered.

Let's begin with the overarching goal. At the outset of the implementation, my experience stood as follows:

  • Basic to intermediate proficiency with JavaScript
  • Proficiency in Angular
  • Strong backend skills
  • Intermediate database knowledge
  • Familiarity with cloud services

Upon completion of this project, I aspire to achieve the following skill set:

  • Intermediate to advanced proficiency with JavaScript and Angular
  • Intermediate to advanced proficiency with Containers/Kubernetes
  • Intermediate proficiency with CI/CD

To realize these goals, I've outlined a roadmap. The initial step involves constructing the core of the blog—an achievable task for an MVP. The minimum viable product should enable reading articles from the database and presenting them to users. However, this is merely the starting point. Post-MVP implementation, considerations include selecting a cloud provider for deployment, testing and monitoring strategies, and identifying additional features.

Once the MVP is in place, a myriad of possibilities unfolds. Functionality can be modularized into separate repositories and (re)implemented, perhaps as Azure functions or standalone Docker images. Storing these images in a Docker repository allows for deployment on a Kubernetes cluster.

The pipeline poses another significant question. Ideally, various tests should run on every commit, followed by image creation and push to the Docker repository, or even automatic deployment to staging.

The ideas mentioned below are undeniably intriguing from a development perspective. This aligns with a point mentioned earlier—through our own projects, we can choose the most interesting tasks, breaking free from routine. This freedom keeps me motivated as a developer and mitigates burnout.

Now, let's discuss the current status of the project: The MVP is successfully implemented, featuring a minor API providing blog articles (and more) and a polished Angular-based front-end. Additionally, I've invested time in creating a Docker image, a topic I plan to explore further in subsequent discussions.

Thank you for reading.


From idea to production: reasons

Let's discuss reasons why is it so important to implement your personal website. Which reasons could motivate a developer to invest free-time into it's implementation and content creation.

Read
.net + angular - from source to container

The guides on configuring .NET and Angular in Docker. It covers Dockerfile creation, Azure Container Registry setup, GitHub Actions for CI, and Azure Container App deployment. Developers can streamline containerization and deployment, enhancing scalability in cloud environments. Also, it's a wonderful start to try microservices on practice.

Read
Azure Container Apps with Multiple Containers

Moving from a single container to multiple containers is a natural stage in the evolution of an application. At the beginning of a project, it is often more important to get a working system into production as quickly as possible and only later focus on separating responsibilities and reducing accumulated technical debt.

Read