How I developed my Blog
Tags: vue, webdev, node, mongodb
Published: 2021-01-05 15:19:01



I wanted to start my blog to learn about content marketing how the thing is done and working but I failed a lot of times today I will share how I did it.
## my Back experience
this part I will separate it into two part which are cms I tried and did not work for me and my back experience in programming
### programming experience
I am a self-taught programmer, I learned very slow and at the first, it was very hard to figure things out at the beginnings,
 I didn't know what do I want to be, what should I learn or do so it ended up with me learning web development I tried angular, react, and Vue but I liked Vue in the end,
I developed some portfolio projects 
### blogging
I tried three cms (content management systems)

  #### Wordpress
 I tried wordpress.com and .org,
 the problem with the first one that I wanted to start for free and incrementally add more stuff gain a little bit of money to buy a domain, etc,
 but I did not like it all free UI are suck I actually hate it the block editing in you WordPress I did not understand it.
 with .org version of WordPress things was a little bit harder for me because I am a frontend/ javascript developer so it was hard I gave up immediately 
 - #### Nuxt Content
 With Nuxt content.
I didn't like the idea of markdown blogging,
 I have to git commit every time I add a blog post, but the good part with it you don't need any backend, and the content loads very fast no API calls everything is pretty dope
 -  #### Strapi
 I heard about headless cms,
I google it and Strapi first thing I found, 
you can consider Strapi as a prebuilt backend for your project,
 it is highly customizable, it was simple to make a blog and customize API calls, you can use Graphql too it was great and I learned a lot about backend using it, especially for nodeJS, I made two websites with it 
 but the dark side was deployment first time I deploy it supports SQL lite, but you can't deploy it with it, you have to integrate another database like MongoDB or PostgreSQL,
 when I integrate it with MongoDB, I met a lot of problems in the Heroku console
 ### What I want
 I began to develop everything by myself using mevn stack
 MongoDB, ExpressJs, VueJs, NodeJs, and NuxtJs
- #### Html Blogging
I think HTML is the perfect use for my case, for blogging because it's very simple to learn and use at the same time it's highly customizable.
you can add inline styles to anything you want, Change specific part put margins, make margins padding, put affiliates, you can add inline javascript too, and many more
- #### scale incrementally and be Simple at the same time
My blog system started small and increased incrementally as my knowledge increase,
 For example, the first time I made it, it was only a plain blog, just some words in a website via API calls, then I learned about SEO, so I added keywords for every post, sitemap, dynamic title, and description. then I added a tool called AddThis, and the list goes on.
 separate by making the backend separate from the frontend the development was easier than normal, and I can focus better on what are the different features I can add in the frontend and backend
- #### develop with familiar programming language for me
I developed by what I already know which is javascript in the form of vue or nuxt and nodejs.
that made development much easier and prevented mind shift from programming language to another
- #### don't have to git commit every time I want to post

unlike Nuxt Content now I git commit when I just add a new feature or code 
that separate commits for adding features and commit for adding a new blog post

- #### Free hosting and I can earn money from different sources anytime I want
this is done by Heroku but unlike the other points this point has a lot of cons 
Nuxt is SSG and SSR
1-subdomain .herokuapp but it is acceptable for free service like Heroku
2- HTTP, not HTTPS Netlify provide HTTPS with each project you make, and because of that PWA is not working because it requires HTTPS
3-addons needs a credit card to add
4-sometimes I met a problem with CDN in Heroku
5-website sleep if your website is not used Heroku will turn it off till someone visit your website and reactivated  
after all of these points, Heroku is not bad but on the contrary, Heroku is good free cloud hosting for your full-stack projects 
-  #### easy relevant database I can work with
I don't know that much about back-end programming, in general, I worked before with few technologies like JWT and nodemailer, but what I don't know for most is a relational database so I need a hosted database easy to integrate and use and maintain so I chose MongoDB it is very easy to use just make schema and schema. save for inserting to the database schema. find and findOne to get 
### what are my upcoming plans
1-complete my website and improve it 
2- make a Hosted CMS like wordpress.com that target frontend developer (freedom frontend developer)
## Check out my blog

[Byhamouda](https://byhamouda.herokuapp.com/)
## Articles I wrote may help you
[6 tips that will help you find the passion of your life](http://byhamouda.herokuapp.com/post/5ff1ef9813698c0017e8dd19)

[5 Tips to get free mentors](http://byhamouda.herokuapp.com/post/5fd663263c83800017e8eafb)
[7 Tips to finish more Books](http://byhamouda.herokuapp.com/post/5fdf8e23a1f3ad00172b8275)