github github
  • Home
  • Pricing and Signup
  • Training
  • Gist
  • Blog
  • Login

insoshi / insoshi

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 1,137
    • 403
  • Source
  • Commits
  • Network (403)
  • Downloads (5)
  • Wiki (1)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Switch Branches (2)
    • edge
    • master ✓
  • Switch Tags (5)
    • rails21
    • rails20
    • original_layout
    • foundations
    • GA_2008.05.23
  • Branch List
Sending Request…

An open source social networking platform in Ruby on Rails — Read more

  Cancel

http://dogfood.insoshi.com

  Cancel
  • HTTP
  • Git Read-Only

This URL has Read+Write access

More README edits 
mhartl (author)
Wed Feb 24 12:12:10 -0800 2010
commit  9976cfe6c3026c22779f
tree    bb0f88231db040cf02ec
parent  4894268ad7a5311c293d
insoshi /
name age
history
message
file .gitignore Thu Mar 19 16:47:32 -0700 2009 Ignoring vim swap files [mhartl]
file .gitmodules Wed Sep 03 01:24:40 -0700 2008 added submodule open_id_authentication [herestomwiththeweather]
file INSTALL Mon Apr 07 11:43:24 -0700 2008 Moved INSTALL to the README file for GitHub's p... [mhartl]
file LICENSE Thu Apr 09 12:07:08 -0700 2009 Switched to the MIT License [mhartl]
file README.markdown Wed Feb 24 12:12:10 -0800 2010 More README edits [mhartl]
file Rakefile Mon Feb 18 15:18:20 -0800 2008 init [mhartl]
directory app/ Mon Feb 01 10:25:31 -0800 2010 Can now change passwords in demo mode [mhartl]
directory config/ Mon Feb 01 10:21:14 -0800 2010 Removed auto demo user login [mhartl]
file configure_insoshi_local.sh Thu Oct 23 11:12:54 -0700 2008 Updates for local repository configuration script [Long Nguyen]
directory db/ Thu Oct 16 15:00:37 -0700 2008 Added explanatory note for model declaration [mhartl]
directory doc/ Tue Jun 03 16:55:25 -0700 2008 First big check-in, with jRails, jQuery, tabbed... [William Lazar]
file init.rb Wed Feb 20 19:04:44 -0800 2008 Got new, index working for people [mhartl]
directory lib/ Mon Feb 01 10:21:14 -0800 2010 Removed auto demo user login [mhartl]
directory log/ Sun Mar 02 10:04:28 -0800 2008 Added 1st cut of installation readme [mhartl]
directory public/ Wed Apr 22 14:48:30 -0700 2009 Removed FCKEditor support files [mhartl]
directory script/ Wed Apr 22 14:48:41 -0700 2009 Reboostrapped RSpec [mhartl]
directory spec/ Wed Apr 22 14:44:59 -0700 2009 Removed unused message edit page [mhartl]
directory stories/ Mon Feb 18 19:55:09 -0800 2008 Added authentication [mhartl]
directory test/ Wed Jun 25 09:03:44 -0700 2008 fckeditor, has easy, jq_ui helper, revert photo... [blazar]
directory vendor/ Wed Apr 22 14:48:30 -0700 2009 Removed FCKEditor support files [mhartl]
README.markdown

Insoshi social software

Insoshi is a social networking platform in Ruby on Rails. You can use Insoshi to make custom social networks; see the Insoshi demo site for an example. For support, join the Insoshi Google group.

Insoshi was originally developed by Michael Hartl and Long Nguyen as part of the Y Combinator program, and is presently maintained by Evan Dorn and Logical Reality Design.

Installation prerequisites

The source code to Insoshi is managed via Git, a version control system developed by Linus Torvalds to host the Linux kernel.

Get Git

The first step is to install Git. Linux and Mac users should have no problems; Windows users might have to install Cygwin first.

For more detailed information, check out our guide for Installing Git under the Git Guides.

Set up your local Git repository

The Git Guides also detail our recommended setup for your local repository:

  • Clone of the official repository (git://github.com/insoshi/insoshi.git)
  • Your GitHub fork added as a remote repository
  • Local tracking branches for official 'master' and 'edge' branches
  • Local development branch based off 'edge' and pushed to your GitHub fork

A shell script is available to automate this repository configuration. It is run from the command-line as follows:

$ configure_insoshi_local.sh [GitHub Account Name]

Install libraries and gems

There are several library and gem dependencies needed to run Insoshi.

Libraries

You'll need to install FreeImage or some other image processor (such as ImageMagick/RMagick) and a database (MySQL or PostgreSQL). Install instructions for these are easy to find using Google. (If you're installing FreeImage on Windows, this blog post might be helpful.)

To use Insoshi's search capability, you also need Sphinx. Follow the instructions to install Sphinx for your platform. When running Insoshi in a production envinronment, you should also set up a cron job to rotate the search index as described here. This currently works only with MySQL due to a bug in Ultrasphinx.

Gems

You probably have Rails already, but might not have the others.

$ sudo gem install rails
$ sudo gem install mysql     # for mysql support
$ sudo gem install postgres  # for postgres support
$ sudo gem install chronic

If you're using FreeImage/ImageScience, you'll also need the image_science gem:

$ sudo gem install image_science

If you want Markdown formatting support you can install either RDiscount (fast but platform-dependent):

$ sudo gem install rdiscount

or BlueCloth (slower but pure Ruby)

$ sudo gem install BlueCloth

Installing the app

These are the steps to get up and running with the Insoshi Rails app.

Git steps

Our public Git repository is hosted on GitHub. You can clone the the repository with the command

$ git clone git://github.com/insoshi/insoshi.git

The clone make take a moment to complete (mainly due to the frozen Rails gems).

Then make a local Git branch for yourself:

$ git checkout -b <local_branch>

where you should replace <local_branch> with the name of your choice (without angle brackets!).

For more information on configuring your local clone of our repository, check out our Git Guides, which also includes a scripted Quick Local Repository Setup.

Install script

To run the install script, you first need to set up your database configuration. If you're using MySQL, you can just copy the example file as follows:

$ cp config/database.example config/database.yml

Then open up database.yml and set up the passwords to match your system.

Run the following custom install script

$ script/install

The install script runs the database migration and performs some additional setup tasks (generate an encryption keypair for password management, creating an admin account, etc.)

If the install step fails, you may not have properly set up your database configuration.

Then prepare the test database and run the tests (which are actually RSpec examples in the spec/ directory):

$ rake db:test:prepare
$ sudo gem install rspec-rails
$ spec spec/

If the tests fail in the Photos controller test, double-check that an image processor is properly installed.

At this point, configure and start the Ultrasphinx daemon for the test runtime

$ rake ultrasphinx:configure RAILS_ENV#test
$ rake ultrasphinx:index RAILS_ENV#test
$ rake ultrasphinx:daemon:start RAILS_ENV#test

and re-run the tests

$ rake spec

The search specs detect whether the search daemon is running and weren't performed during the first test run. An initial test run is needed in order to populate the test database for indexing (search specs would fail on an empty database).

To shut down the Ultrasphinx daemon for test

$ rake ultrasphinx:daemon:stop RAILS_ENV#test

Loading sample data

Now load the sample data

$ rake db:sample_data:reload

configure and start the Ultrasphinx daemon for the development runtime

$ rake ultrasphinx:configure
$ rake ultrasphinx:index
$ rake ultrasphinx:daemon:start

and start the server

$ script/server

The rake task loads sample data to make developing easier. All the sample users have email logins @example.com, with password foobar.

Go to http://localhost:3000 and log in as follows:

email: michael@example.com
password: foobar

Admin user

To sign in as the pre-configured admin user, use

email: admin@example.com
password: admin

You should update the email address and password. Insoshi will display warning messages to remind you to do that.

To see site preferences such as email settings, click on the "Admin view" and the click on "Prefs" in the menu. Click the "Edit" link to customize the preferences for your particular site.

License

Insoshi is released under the MIT License. See the LICENSE file for details.

Dedicated Server Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
  • Blog
  • Support
  • Training
  • Job Board
  • Shop
  • Contact
  • API
  • Status
  • © 2010 GitHub Inc. All rights reserved.
  • Terms of Service
  • Privacy
  • Security
  • English
  • Deutsch
  • Français
  • 日本語
  • Português (BR)
  • 中文
  • See all available languages

Your current locale selection: English. Choose another?

  • English
  • Afrikaans
  • Català
  • Čeština
  • Deutsch
  • Español
  • Français
  • Hrvatski
  • Indonesia
  • Italiano
  • 日本語
  • Nederlands
  • Norsk
  • Polski
  • Português (BR)
  • Српски
  • Svenska
  • 中文