📜 ⬆️ ⬇️

Ruby on Rails for marketplace development

Thoughts and conclusions published in this article were formed on the basis of the experience of my company, which has been developing online marketplace of various types for years. We have a fairly large number of projects that were created using Ruby on Rails. Now I want to tell why we gave our preference to this particular framework and never regretted it.


Briefly about "marketplace" and its specifics


Macretplace is an electronic trading platform, designed in the form of a web or mobile application, where buyers and sellers can communicate and make deals. This is a kind of mechanism that helps to establish communication between providers. The marketplace differs from the usual online store in that it presents not one (usually, the owner as well), but many different brands of service providers.
For a common understanding, here are the main differences between the marketplace and the online store:






And these are just highlights. Thus, the buyer gets a convenient platform, where there is literally everything; the seller gets more buyers without extra costs for promo (what is not an additional sales channel?); the owner of the marketplace receives income without unnecessary "gestures" (after all, all he needs to do is not to manufacture goods and deliver them, but to create and maintain marketplaces).


As an example of marketplace, consider Amazon, Airbnb, Uber, Spotify, or OLX. These giants have long proven themselves in the market. In addition, we should not forget about the App Store with Google Play, because it is also a marketplace. And we use them almost every day.


An important aspect for understanding the topic is that marketplaces are divided into different types based on the principles of interaction between buyers and sellers. There are 8 of them today:


B2B (English "business to business"),
mCommerce (short for mobile commerce),
Crowdfunding (from the English. "Crowdfund" - "financing through the collection of money from the community"),
C2C (English "customer to customer" - "consumer to consumer"),
eCommerce (short for "e-commerce"),
B2C (English "business to customer"),
peer-to-peer (from the English. "equal for equal")
auction platforms (from the English. "auction")


But let's get closer to the topic. Before starting the praise of Ruby on Rails (hereinafter referred to as the RoR article), in the context of developing marketplaces, probably, alternatives that are present in the market should also be mentioned. So that the material does not seem biased.
You should understand that at one time we used other technologies to create marketplaces besides RoR. Therefore, we have something to compare.


Ways to create online marketplace


This is the most interesting. In fact, there are plenty of ways. Sometimes more than because each company providing a platform for development insists that only this platform is ideal for your marketplace. The rest "will certainly work poorly or have limited functionality." Odnosnanosti no, and each vibrates himself.


The functional, by the way, is a completely separate topic. After all, in order for the user to stay with the marketplace, you need to think about a bunch of things, ranging from convenient authorization, to integration with the payment system. You can talk about functionality for a long time, but here are the main points:



But back to the development methods. Since there are a lot of them, it will be most convenient to sort them into 3 categories:


  1. Buying a turnkey solution
    Here I mean buying a solution from Shopify, Magento or Woocommerce (in fact, there are more examples). Simple, fast, convenient. But there are also disadvantages. The main disadvantage of this method is the inability to customize your marketplace, set up as you like. It will be stereotyped, and the changes you require will be, if not impossible, then very expensive in the end. And if you do not have such needs, then the solution is ideal.


  2. Using an open platform
    Such an open platform, such as Sharetribe, WordPress or Spree, is something between a custom development and a ready-made solution. On the one hand, here you will get more freedom for settings and changes. In essence, your team will be developing it. But at the same time, to create something more here that goes beyond the capabilities of the platform will not work.


  3. Development from scratch
    Finally, an option that I wanted to tell you. Development from scratch is provided for unique marketplaces where we can choose, change and add functionality, technologies and other details at our discretion. In this way we will get our own application, created with all our needs and plans in mind. No restrictions.
    In terms of cost and development time, this option may seem the most costly. But do not forget that in the end we get a product that does not require additional changes (ideally, of course).

For development from scratch, various frameworks are used (English "web application framework").


Developing an online marketplace with Ruby on Rails


Despite the fact that for each platform there are many fans and opponents (marketplays are also often created on the Laravel, Django, Meteor platforms), we prefer Ruby on Rails.


And that's why:


  1. First, it is the ease of development . For RoR there is a huge variety of libraries, where there is everything that you can only dream of. Even if the question or problem has not yet appeared, there is already a solution for them.
    It is very convenient, because you do not need to invent anything.


  2. The same ease of development leads to the following advantage - a significant reduction in development time . What could be better if the project can be launched twice as fast as previously planned? Moreover, precisely because of the simplicity, the development team is relatively small. And this is an obvious savings.


  3. RoR is designed for sites with a lot of information. In other words, if you need to provide for filling the site with content, there is nothing better than Ruby on Rails. This is very important for CRM and CMS systems.


  4. RoR has one of the largest and most active developer communities that are always ready to help or come to the rescue. This is very important when you break your head for a long time in search of a non-obvious answer. The likelihood that another developer has already broken it and found the answer is very high.

The developer community can come to the rescue when it is necessary to replace or hire another developer to the team. There will be no problem finding a candidate.


There are a huge number of marketplaces, paid on Ruby on Rails. The same Shopify (which was discussed earlier) or the world famous Couchserfing.


You can talk a lot about how well and easy it is to work on RoR. However, the main purpose of my article is to tell you that this framework is perfect for creating online marketplaces. I hope that I succeeded, and the information about both marketplaces and Ruby on Rails was useful for you.


')

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


All Articles