Today, my studio has its own CMS, I sell one license key for 999 rubles. And there are already many sites on which my CMS is installed and successfully works for the benefit of license holders.
Many will immediately have a question - why reinvent the wheel itself, if there is a huge amount of first-class CMS on the market and free and paid. The most correct answer in my opinion is “I want to use my system and develop it the way I want”. Well, of course, I get the right to sell my system, because if I used some kind of framework, it has a clear definition in the license agreement - for non-commercial use.
A bit of history.
It all started with the fact that I decided to make a profit not from one-time programming works, but wanted to create a serial product. After all, as you know, selling copies of a ready-made solution is much more profitable than creating something new every time. So the first version of my CMS appeared. Estate.sitebill.ru v 1.0 The admin interface was very simple, functions - only the most necessary. I made a demo site where you could click on the site and admin panel and set a price for being able to download 299 rubles to yourself. To my surprise, in a couple of weeks, when the search engine indexed the main page - I sold the first copy! Euphoria and delight, that's what I experienced, because before that I always had to work long and hard to make a program to order, and then get money for it. And now the situation has changed, now future buyers do not set me a task but look at the finished product and decide whether to buy it or not. And immediately after the sale of the first copy, I received feedback from the buyer with the wishes in appearance and additional features. After 5 copies sold, I realized - it is necessary to take and refine the product.
Thus, after half a year of work, I received the first good reviews about quality and people have already begun to enjoy the product with pleasure.
Gradually, it became difficult for one to cope with the flow of such applications and had to hire a couple of freelancers to work. Raised SVN server, generated documentation using phpDocumentor. The good thing about this was the experience of commenting the code in the right notation.
It was a technological breakthrough — good ideas for improving functions went. I had to read a lot of books on OOP and design patterns. To my surprise, I discovered that before this my concept of MVC was very superficial, and now I have discovered extraordinary possibilities using this approach and other patterns from the book: “Zandstra - PHP. Objects, patterns and programming techniques.
As a consequence of all these developments, our team came to the concept of applications (apps), as well as components for joomla, drupal and other popular systems.
The undoubted advantages.
You can create any paid standard solutions for various thematic sites: auto, work, online shopping. Develop and sell templates again.
When working with clients, they become accustomed to the service and become regular customers, all the more there is a good incentive for them, because they use your product and the first to whom they turn to create new sites with new functions will be your team.
A community of users and developers is being created - this is a good environment for selling and getting new ideas.
And now about the minuses.
Developing my system has to go through all stages - from idea to ready-made solution. And often the implementation, even if I read a lot of smart books does not always coincide with the primary ideas. After the release of the next release, a new vision arises, as it should be, but taking into account the new experience, while the version has been downloaded by many users and placed on the site. You need to think not only about how to improve the function, but also about how to upload this improved function to existing sites. And this will be done by ordinary users, who often do not even know the syntax of PHP.
Another disadvantage is that some users, because of their unwillingness to understand the template system, seriously believe that any of their wishes that do not fit into the current layout or code are a system error. And each time they have to be convinced that the system is not perfect and cannot include everything at once and in the best possible way.
To support users organized a forum that copes well with the tasks of consulting and solving common questions.
View the demo version and download yourself
here .