#Rails-based anti-social Bookmarking
This is somewhat of a reddit/delicious clone, but philosophically different at its core: only administrators can post bookmarks, but anybody with an account can comment. It's a bit anti-social that way, but the idea is to have strong editorial rather than listen to the masses.
##Setup
- You'll need to install MongoDB. On OSX, if you have homebrew you can simply type in the command: brew install mongodb
- We're using Omniauth (other service providers) as our only login option-- there's one less password to memorize. You'll need to setup an app in Twitter/Facebook/Linkedin/Github/etc. I recommend a Twitter app, as it's widely used and has less of a 'privacy-invasive' feel than Facebook. You can set up a Twitter app here: https://dev.twitter.com/apps/new
- You need ruby, rails, and bundler installed. You can use RVM, or homebrew if this'll be your only app:
brew install ruby
brew install rails
brew install bundler
- Clone this app.
- If you're using the default port for MongoDB, mongoid.yml should be correct. Otherwise, change the settings as necessary.
- Rename omniauth.rb.example to omniauth.rb, and change the key and secret from the app created in step 2.
- Run
bundle install
. - The app should work now, just
rails s
to startup.
##Heroku Deployment Instructions Because I've been deploying on Heroku myself, this should be reasonably straight-forward.
- Sign up for a Heroku account if you haven't already.
- Install the Heroku gem or the Heroku CLI: http://devcenter.heroku.com/articles/heroku-command
- Clone this app
git clone [email protected]:metermaid/bookmarks.git bookmarks
- Create the app on Heroku (replace myapp with something unique):
heroku create myapp
- You'll need to add both MongoDB and Elasticsearch to your app. If you use bonsai and mongolab, no further configuration should be necessary. To do so, run:
heroku addons:add mongolab
andheroku addons:add bonsai
. - We're using Omniauth (other service providers) as our only login option-- there's one less password to memorize. You'll need to setup an app in Twitter/Facebook/Linkedin/Github/etc. I recommend a Twitter app, as it's widely used and has less of a 'privacy-invasive' feel than Facebook. You can set up a Twitter app here: https://dev.twitter.com/apps/new
- Rename omniauth.rb.example to omniauth.rb, and change the key and secret from the app created in the previous step.
- Sign up for Amazon S3: https://devcenter.heroku.com/articles/s3#s3-setup
- Comment out the file datastore of
config/initializers/dragonfly.rb
and uncomment the S3 datastore. Fill this in with your credentials. - Push your application to Heroku:
git push heroku master
- The app should work now, open it with
heroku open
##Somewhat Neat Features
- Tagging
- Search
- Comments
- Admin Favourites
- Daily digest RSS feed
- Bookmarklet
- Thumbnails
##Coming Soon
- Daily digest mailings