📜 ⬆️ ⬇️

On the way to creating your own online store engine

My article does not open any technological innovations and rather aims to get the views of Habravchan. Perhaps your thoughts will help to stop and choose the right path.

I created several of my own and other online stores, being unaware of web programming. That is why, preference was given to the most understandable, simple and functional engines of online stores, with which any man in the street would cope.

The choice then fell on two engines ImageCMS and HostCMS. Now quite a long way has been passed, but the further I go, the more I doubt whether I choose the right path.

')
As stores developed, I was faced with the restriction of their functionality, the lack of the features I needed, the need to customize my needs to match the template capabilities of the engines mentioned above.

Attempts to change anything would certainly be sent to freelance sites, where due to limited budgets I could not find a suitable performer who could fulfill my needs.

As time went on, ideas appeared beyond the scope of online stores, but there was not a single programmer in the environment who would have brought these ideas to life with great enthusiasm. It was then that I made the decision to independently master all the basic knowledge and skills that would allow me to create a product at an early stage of development without the involvement of anyone on an ongoing basis. In any case, at first, until the idea justifies itself and begins to generate income that is capable of attracting highly qualified specialists.

Over time, things like php, js, html, mysql, etc. ceased to be something beyond fiction. In any case, for the needs of a philistine scale. My stores, once started at ImageCMS and HostCMS, also developed.

Two years ago, I realized that I was able to finish one of the online stores by myself, thankfully, it was necessary to finish the client-side component. This store was powered by ImageCMS. After killing a lot of time on the analysis of the logic of this engine, trying to understand the documentation, etc., I then thought: “Isn’t it easier for my online store engine to get drunk, I’ll know all its logic and, as a result, I can quickly make any changes to it under any needs. ” Then this thought remained only at the level of thought and did not go into action.

Somewhat later, I began to drink my first full-fledged Internet service, without a commercial component. Everything works with a bang, I know all the logic of my own "engine" and I can make any changes in it that I want. I do not know the truth about security, I suspect that everything is bad. Again, if the project starts to bring at least some tangible income, then you will certainly hire a specialist who will debug security.

But here's the ill luck that the Internet service brings income, he needs a component that will allow to receive money from clients, take these revenues into account, we need a system for affiliate program, etc. In my case, it was about accessing the service through a paid subscription, which would provide an opportunity for advanced functionality. Began to design a data structure for the monetization system. Spent about a week, and when the data structure consisted of about two dozen different tables, I realized that the structure begins to resemble strongly the data structure that I saw in the online store engines. For various reasons, the introduction of monetization has been postponed.

I avoided any engines, because I was convinced that applying someone’s sample solutions would deprive me of flexibility, would take a lot of time to review the documentation and make them dependent on the support of these engines.
On the way to the development of the next project, I decided to try to use some kind of framework. Having studied the various options, the choice fell on symfony. Fortunately, by this time I had already begun to understand the principles of object-oriented programming, so the mana smoking did not take much time, I was pleased with the result. A lot of routine was done for me.

The project was uncomplicated, in essence, a site with various sections, without authorizations, payments, etc. However, I had to create several entities for different sections (services, news, etc.). Creating a new entity, I finally caught myself thinking that my data structures, ideas for their optimization, etc. strongly resemble what I saw in the engines that I used before.

And at that very moment I wondered whether it was worth writing everything from scratch in this case (with or without the framework), if the basic structure of the project is still exactly the same as in third-party engines ?! Isn't it easier to choose one or two engines that implement the widest possible range of possibilities, sort them out and finish them for your own needs? Maybe while I have not started writing my own online store, affiliate program or monetization, is it worth going the other way ?!

This is where you need to put a significant ellipsis ...

Habravchane, I'm probably not the only one, for sure there are many experienced web developers here. It is interesting to know your opinion. In general, I would formulate the question as follows: “What is more effective, write projects from scratch, using frameworks whenever possible, or take a ready-made engine and finish it for your own needs?”
I would be very grateful for detailed comments. If you think it's better to use engines, which ones?

Source: https://habr.com/ru/post/282195/


All Articles