
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.