For a while now, I have been trying to keep up with writing articles for my blog. Even though there is so much I want to learn, I still feel like I have trouble keeping a regular schedule for writing my articles. Currently, I'm using WordPress for managing my content, but last week I thought: why not building a blog from scratch?
With this project, I want to try and host my blog with a custom back-end and front-end. WordPress is awesome, don't get me wrong, but it is also cool to write everything myself. That gives me the opportunity to try new technologies and expand my knowledge. It is a work in progress and also a way for me to get more experienced with software engineering which means that changes will happen halfway the project. I might even fully overhaul it at some point, but it is all for the sake of learning, experimenting and of course having fun.
In order to start building a blog, it is important to have a set of requirements ready. It gives a bit of an overview of the project and a guideline to keep in mind. That is why I have decided to write down my requirements, so I can keep track of what I want in my system. Since this project is bound to grow and change, I want to start with something simple and basic. Then I can continue working out the specifics and more fancy features. So, I have comprised the following requirements for my project:
- Database saves all the metadata and location of the blog post
- A blog post can be retrieved from the database
- A blog post can be posted to the database
- A blog post can be shown
The requirements are simple, but they cover the basics for building a blog. I have already decided to go for a Spring Boot back-end, because I'm most familiar with Java. However, the next decision to make is deciding which type of database I will use for this project. That will be a post for next time.
If you want to follow the project and peek along with the code, feel free to check out my GitHub repository. However, if you have any tips, or things I should look into, I would love to read your suggestions in the comments below!