So the first question your probably asking yourself is why? Why in the bloody hell would I want to build a whole new CMS if there are already tools out there such as WordPress, Drupal, Keystone.js, and so many more? What is the point in reinventing the wheel? So many other developers have done beautiful, sound work so shouldn't I just be looking to extend the work already done so we can take technology further?
I have been through all the forum posts, read all the Stack Overflow posts, read plenty of articles and further more, tried to watch some sketchy YouTube tutorials who taught janky configurations as to how to set up an admin system (they tried to set it up with someone needing to add a secret pass phrase that only the developer would know...). So, I decided that I wanted to write this article for all of the other dorks out there who are and dead set on creating their own unique CMS because they felt something was lacking from the current selection.
First Question... Why?
Well as hinted at above, I am really tired of the current CMS selection out there. While I appreciate trying to make each of the 'dumb-proof' I really find that 'user friendly' feature progressively getting more and more frustrating, limiting and from my professional experience, doing more hindering than actual good for clients. Furthermore, I feel like a lot of them look like they were built in the late 90's / early 2000's with their interface which to me is rather frustrating.
I understand that a CMS is meant to be functional but let's be honest... as website administrators, we spend both a lot of time in the actual code and a lot of time on the actual admin section. Why not make the admin aesthetically appealing?
I could go on and on and try to convince you that this is a good idea but chances are, this is a bad idea and I am just doing this to say, "Hey, I built a CMS. What did you do?" (and chances are you did something way cooler).
Just a quick note / answer. No, I do not feel I am at all qualified to build a CMS. I learned Node.js 4 months ago as of the date I wrote this article and honestly, the approaches I may take could be considered barbaric in the world of development. But I feel like I should still try. Just figured I would share so any senior devs out there could get a good laugh.
This is rather simple for me. I want a CMS that is both developer friendly (both front end / server side)that will also be friendly to the client as well, while of course being beautiful and aesthetically appealing design wise. That is a pretty hefty goal I know but I am telling you, I will do this.
With this article, I just wanted to share my intentions. With my future articles, I aim to share with you my process, stumbles, successes, and eventually, version 1 of my custom CMS. Hopefully you learn something and if you see me doing something wrong, I would appreciate you sharing a better approach (be delicate though as I am sensitive about my code).