A cohousing meals management system.
Gather is a Ruby on Rails application with some client-side JavaScript for dynamic view elements. HTML is generally rendered server-side. SCSS is used for styling. No special IDE is required for Ruby on Rails development.
Ruby on Rails applications are best developed and run on Linux, Unix, or Mac OS. Development is also possible, though not recommended, on Windows. See the Rails download page for more information.
To install the software below we recommend the following package managers:
- Mac OS X: Homebrew
- Linux/Unix: bundled package manager (e.g. apt-get, yum)
For all environments:
- Ruby (see .ruby-version file for exact version, rbenv is recommended for Ruby version management)
- Bundler
- Once Ruby is installed, run
gem install bundler
to install.
- Once Ruby is installed, run
- PostgreSQL v9.2+ (database)
- ImageMagick v6.8+
- Mailcatcher for testing email (run
gem install mailcatcher
to install).- Note, this gem is deliberately not in the Gemfile because it is a standalone development tool.
- A Gather OAuth client via the Google API Console.
For development environments:
- PhantomJS v2.1+
Follow these steps to setup a development environment for Gather.
-
Install all above dependencies
-
Retrieve project files using Git
git clone https://github.com/sassafrastech/gather.git cd gather
If developing, it's best to work off the development branch:
git checkout develop
The remaining steps should all be done from the project directory.
-
Install gems
- Run
bundle install
to install the required gems.
- Run
-
Set local config
- Copy
config/settings.local.yml.example
toconfig/settings.local.yml
. - Edit
config/settings.local.yml
to fit your environment.
- Copy
-
Create development and test databases and schemas
- Copy
config/database.yml.example
toconfig/database.yml
. - Run
rake db:create
to creategather_development
andgather_test
databases. - Run
rake db:schema:load
to create the schema in both databases.
- Copy
-
Create some fake data and a user so you can sign in
- Run
rake fake:data
to add one cluster, one community, and a full complement of fake data. This command will also add a user with superadmin privileges with the Gmail address you entered insettings.local.yml
.
- Run
-
Run the tests
- Run
bundle exec rspec
. - All tests should pass.
- Run
-
Start the server
- Run
bundle exec rails s
. - Leave this console open.
- Run
-
Start DelayedJob
- Open a new console.
- Go to the project directory.
- Run
bin/delayed_job start
.
-
Start using the system
- In a browser, go to
http://gather.localhost.tv:3000
to start Gather. - Click "Sign in with Google" to use Gather as the user you just created.
- Enjoy!
- In a browser, go to