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)
- Ruby v2.2.x (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. - PostgreSQL v9.2+ (database)
- ImageMagick
- Set up a Gather OAuth client, if you don't have one, on Google Developers.
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. -
Set local config
-
Copy
config/settings.local.yml.example
toconfig/settings.local.yml.rb
. -
Edit
config/settings.local.yml
to fit your environment. -
Create development and test databases and schemas
-
Copy
config/database.yml.example
toconfig/database.yml
. -
Run
rake db:create
to createmess_development
andmess_test
databases. -
Run
rake db:schema:load
to create the schema in both databases. -
Create a user so you can sign in
-
Run
rake fake:user_data
to add one community, one household, and one user (with admin privileges and your GMail address) to the gather_development database. -
Run the tests
-
Run
bundle exec rspec
. -
All tests should pass.
-
Start the server
-
Run
bundle exec rails s
. -
Leave this console open.
-
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!