Giter VIP home page Giter VIP logo

gather's Introduction

Gather

A cohousing meals management system.

Platform

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.

System dependencies

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:

  1. Ruby (see .ruby-version file for exact version, rbenv is recommended for Ruby version management)
  2. Bundler
    1. Once Ruby is installed, run gem install bundler to install.
  3. PostgreSQL v9.2+ (database)
  4. ImageMagick v6.8+
  5. Mailcatcher for testing email (run gem install mailcatcher to install).
    1. Note, this gem is deliberately not in the Gemfile because it is a standalone development tool.
  6. A Gather OAuth client via the Google API Console.

For development environments:

  1. PhantomJS v2.1+

Development Setup Guide

Follow these steps to setup a development environment for Gather.

  1. Install all above dependencies

  2. 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.

  3. Install gems

    1. Run bundle install to install the required gems.
  4. Set local config

    1. Copy config/settings.local.yml.example to config/settings.local.yml.
    2. Edit config/settings.local.yml to fit your environment.
  5. Create development and test databases and schemas

    1. Copy config/database.yml.example to config/database.yml.
    2. Run rake db:create to create gather_development and gather_test databases.
    3. Run rake db:schema:load to create the schema in both databases.
  6. Create some fake data and a user so you can sign in

    1. 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 in settings.local.yml.
  7. Run the tests

    1. Run bundle exec rspec.
    2. All tests should pass.
  8. Start the server

    1. Run bundle exec rails s.
    2. Leave this console open.
  9. Start DelayedJob

    1. Open a new console.
    2. Go to the project directory.
    3. Run bin/delayed_job start.
  10. Start using the system

    1. In a browser, go to http://gather.localhost.tv:3000 to start Gather.
    2. Click "Sign in with Google" to use Gather as the user you just created.
    3. Enjoy!

gather's People

Contributors

kenatsun avatar

Watchers

James Cloos avatar Arisah Ijeoma avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.