I've always liked flat-file cms'es like Kirby or Grav. Easy to maintain, migrate, understand and tweak. I've already developed a number of themes for Kirby and one theme for Grav. They are both great and powerful cms'es
But i've always encountered problems with theme development to these cms'es. They were usually minor issues and forums or stackexchange had the answer all the time. Still i was not happy with theme developing.
I had created basic apps on Ruby on Rails and Python. Made some minor php plugins to speed up my enviroment. But never stand up and tried to build my own Content Management System. That was not because i knew how hard it is, just when there was a ready made i used that instead of creating mine.
It's much complex and confusing than how it looks. If i wanted to create a php cms with mysql as the database, well than everything would have worked fine with no hassle since you can find maybe a thousand tutorials about that. But i wanted to make a simple, flat-file cms and include nice features i might use. Well, still there is many tutorials about flat-file cms'es as well but you can't find every answer you are looking for with ease.
What made me stand up for this crazy idea is my blog - kasap.me. I wanted to give it a custom look, better than what i had. Then wanted to implement this html theme to kirby but very quickly changed my mind and thought pure html would be fine. But, every time i wanted to add a blog post do i have to copy one blog post, edit it, edit menu etc etc? Ok then, just make those file php and include header, footer etc to make it easier to maintain. Then my eyes bleed when i saw stuff like
kasap.me/about.php and decided it will be better if i make a basic routing.
Ok then, lets google "php routing" and everything is fine. Really? For some reason none of those basic routing seemed ok to me. Thanks to Rails and Django i knew a thing or two about routing so created mine. Trust me, code was awful but working and it was easier than i thought. When i was ok with routing another question appered. Why not use xml or json as database? It will be much easier to handle content.
So i implement some json files to the pages, even re-write routing to work with json. At that moment i realized while it is easier to handle content over json it is not easy to read or update json. Another mission was born. I needed an admin panel. Then every step followed by a new idea and my very own Dead Simple CMS was born.
It is still on very early alpha but working flawless on front-end. There are many things to add or improve. After to-do list is done i'll start theming support to release it. Without custom theming no cms might be called as a cms. Maybe an 'web app'. After theming, plugin development will follow. At some point when i decided to create a basic cms i knew i had to change almost all config and functions to make it a more MVC-like, if i delayed this all the code might have been too much complicated to read. So as 22 October 2018, my first ever cms is live! After those long hours i couldn't be happier to see it goes live.
In the end; i just understood that it is not ideal to create your own cms, but it IS fun!