Question

We have magento 1.9 site and we want to make this as marketplace.

For Marketplace, client don't want to use magento as he is telling if thousands of sellers upload millions of Products to site then database may crash, performance will go & site may destroy.

Instead he wants to Connect Magento site with external php site, so that sellers will upload products from php site & it should display in magento site.

Also all sellers related information like their products, orders, payments, accounts information should display in php site.

If those sellers' products ordered in magento site, it should display in php dashboard.

If this is possible,

  1. How to connect magento site to Php Marketplace.
  2. A. Do we need to use Separate Database for both - Upload Products in Php database and then transfer to magento database.

or

  1. B. Do we need to save the products uploaded by seller in single database.

  2. As we create login accounts for each seller, is it possible to create a login account for admin also in frontend and in admin account, all sellers Products will display & admin will approve or reject Products uploaded by sellers.

  3. Do we need to use magento APIs for connecting to PHP site?

Was it helpful?

Solution

Your question seems quite broad but I'm gonna try to enlight you a bit.

Regarding performance

On one hand you have that argument:

Client don't want to use magento as he is telling if thousands of sellers upload millions of Products to site then database may crash, performance will go & site may destroy.

On the other hand you're asking:

Do we need to use Separate Database for both - Upload Products in Php database and then transfer to magento database or do we need to save the products uploaded by seller in single database.

Here you have a choice to make and that will basically give you the paths to follow to achieve what you want:

Choice 1:

  • Use 2 databases (1 for Magento, 1 for your external website) to have better performance
  • Create a complex system for both your external site and Magento so they can talk to each other and deal with your marketplace system.

With this choice, you increase the time it'll take to develop everything (as you have to deal with two different systems) but take care of performance at low cost (NB: I don't guarantee that having two different systems will give you better performance. Depending on how well coded is the system it could make everything worse)

Choice 2:

  • Use a single database only with Magento
  • Develop a complex system only for Magento
  • Pay for a better server with high performance hardware

With this choice, you decrease the time it'll take to develop everything as you only have to deal with Magento but performances need to be taken care of by paying for better servers.

Conclusion

I'm not gonna bring the money=time equation to the table but I guess you got what I said. Those two options are totally different and you need to think wisely about it before starting developing anything.

My 2 cents

This question is kind of opinion based so here's mine. If I had a decision to make, I'll go for choice 2. Don't pick that option because I said I would, make your own decision, talk with other people part of the projects and ensure you know everything about your project ;)

Assuming you picked Choice 1

The general idea would be to have a very simple database on your external website to store the following entities:

  • seller
  • products
  • categories

Then you can implement the review system directly in this external website so an admin can approve/reject uploaded products.

After that, I reckon you can setup a cron that pushes the new data to Magento on a regular basis depending on how much data you're dealing with.

You'll obviously have to use Magento APIs to push those data, for example:

Assuming you picked Choice 2

As this is not your question I'm just gonna throw some ideas here and there:

  • Don't reinvent the wheel, there's some Marketplace extensions out here, compare them, buy one of them and modify it to fit your needs, it'll save you time. For example: https://www.magentocommerce.com/magento-connect/marketplace.html
  • There's plenty of good hosting companies for Magento out there, contact them, explain them what your needs are and see how much it'll cost you to setup a good server. Examples: Nexcess, Sonassi, ByteNL, MageMojo.
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top