I have recently spent a fair bit of time working with Sharetribe, an open source, MIT licensed marketplace platform that also powers a hosted solution.
First, let me say that the software is the least significant piece of a marketplace (like AirBnB). The least significant! (Check out the Sharetribe Academy for some great content about the other steps.)
The sharetribe github readme explains the installation process pretty well, but I find it tedious, so I created a quick start vagrant VM. This VM has a sharetribe installation ready to go. I use vagrant 1.6.3 and Virtualbox 5–google around for instructions on how to get those up and running. The guest VM is Ubuntu 14.04. This VM uses rvm to manage ruby versions, but I couldn’t be bothered with nvm. It will install sharetribe 5.8.0 and all needed components.
Assuming you have vagrant and virtual box installed, download the Vagrant file and put it in the directory where you want to work. Edit it and change any options you’d like. The options I changed were the port forwarding (I set it to
3003), networking options, and the amount of memory used (I allocate 4GB).
vagrant box add http://www.mooreds.com/sharetribe/sharetribe-base-mooreds.box --name sharetribe-base-mooreds to download the file. It’s downloading a large file from my (small) server, so expect it to take a while (hours).
When you can login (password is
vagrant if you use vagrant putty or you can use
vagrant ssh) you can go to the sharetribe directory and do the following:
- fork the sharetribe repo
- update your git remote so that your
originis your forked repo (and not mine, because you won’t get write access to mine)
- create a branch in your repo off of the 5.8.0 tag. There’s one startup script I tweaked a bit, but you can just ignore those changes.
- update your mysql password:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
- start mailcatcher listening to all interfaces:
- start the rails/react server:
foreman start -f Procfile.static
- visit lvh.me:3003 and start your server
- set up your local super user and first marketplace
- edit the url you are redirected to to have the correct external port on it (from the vagrant settings): from http://testdev.lvh.me:3000/?auth=baEOj7kFrsw to http://testdev.lvh.me:3003/?auth=baEOj7kFrsw for example
This is running sharetribe 5.8.0, and I’m sure there will be follow on releases. Here’s how to sync the releases coming from the sharetribe team with your current repo. I’ve taken the liberty of creating an
upstream branch for you.
This doesn’t cover deploying the code anywhere–I’d recommend this gist. Make sure you read the comments! Or I can install a vanilla version of sharetribe to heroku for a flat fee–contact me for details.