Startup on Drupal and why I chose it

    Starting to create a project, many are faced with the dilemma of choosing an engine. Whether it will be developed on some semi-finished system or written from scratch depends on many factors. If you are a programmer, you will most likely want to write from scratch in a familiar language. So in your opinion it is easier, faster and more efficient. If you are a non-technical person, or a project is just a blog, your blog engine can be your choice, which you can install and configure in a couple of hours.

    One way or another, at the very beginning of the project you need to understand the pros and cons of both approaches. Today we will talk about why I decided to do Giveaways.ru on Drupal and why I have never regretted it for half a year.

    Platform Selection Criteria


    Since I started the project alone, and I already had experience in launching several projects, I determined a number of criteria that the chosen solution should satisfy:
    • Quickly deploy basic functionality
    • Do not go into the code for every little thing
    • Form requirements during the project without fear of change
    • With minimal losses, change the programmer if necessary
    • To charge different people with different tasks and not drown in bugs
    • Run with minimal design


    Drupal is not the only CMS with which I had to work, but the choice was made on this system. It may be harder to learn than others and its community is not as developed as the same WordPress, but the potential of Drupal exceeds the CMS I know in its capabilities for projects with functionality more complicated than a news portal or online store.

    Quickly deploy basic functionality


    I decided to launch the project in such a way that despite the lack of a fully functional version, you could always find something useful on it.

    So at the very beginning I drew and made up a landing page, which worked together with authorization through Instagram and collected the first interested users. A simple authorization module was written on Drupal and the first page was posted.

    Then I decided to start a blog with useful articles on the topic of the service, so that I could appear in the search as soon as possible and start getting the first SEO traffic. Drupal already has the ability to blog with all the features out of the box, I just added a Blog to the menu and started writing articles.

    When developing from scratch, I would have to describe to the programmer how the blog should work, not to forget various little things, and still something could be missed. For example, human readable links. From scratch, it was necessary, firstly, not to forget about it, and secondly, to describe in detail how this business will work. And here I just installed the module and pressed a couple of buttons.

    Do not go into the code for every little thing


    At the beginning of development, ideas come and change at such a speed that if only a programmer implemented them, the project would develop many times slower, because I myself can not write a single line of code. For example, I needed to add a certain block of text to a specific page, visible only to registered users, or connect the Disqus service to comment on articles. 10 minutes and done. These 10 minutes include time to search in Google for instructions on how to do this or the module that needs to be installed and configured.

    Form requirements during the project without fear of change


    In Drupal, due to the modular structure, there are practically no problems with the mutual use of ready-made modules or programmer's designs. Often when changing requirements, it is enough to simply disable the module or change the settings somewhere. Of course, such an approach is possible when the programmer works in the Drupal ideology, and does not write some of his own stray, working "next to" with Drupal, and not inside it.

    With minimal losses, change the programmer if necessary


    And I had to. The new man quickly delved into what was done and quickly continued to work. From my own experience I know that on projects developed from scratch it is more difficult, because some programmers do not like to comment on code, while others do not like to understand other people's code. In addition, Drupal, like other CMS, has generally accepted development approaches and a community ready to help.

    To charge different people with different tasks and not drown in bugs


    In Drupal, due to its modularity, it is very easy to parallelize workflows so that they do not overlap. For example, while the programmer was doing the main functionality of checking and uploading Instagram photos to contests, I set up payment acceptance and the rules for debiting the balance for adding all the same contests.

    Run with minimal design


    At the initial stage of the project, I did not want to spend time drawing all the pages, various states and elements, especially since the understanding of how the design should be came gradually. So I just found and installed the appropriate template (theme) on Drupal, where most of the elements were already with some basic design that was quite suitable for me. This allowed us not to slow down the launch of new features, waiting for the design layouts.

    Conclusion


    Drupal allowed us to quickly and with minimal effort release a project and test its business model. Of course, this CMS also has its drawbacks, for example, according to the programmer, work with Cron is poorly implemented and it was necessary to use a third-party one. Someone swears on productivity, but in the world there are a lot of highly loaded projects on Drupal, which means that it needs to be properly prepared.

    Perhaps there will be a bottleneck in my project and someday I will have to rewrite everything again, but now we can say that the choice was made not in vain.

    Also popular now: