codefirst/AsakusaSatellite

View on GitHub
README.markdown

Summary

Maintainability
Test Coverage
AsakusaSatellite
===================

[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)

[![Build Status](https://secure.travis-ci.org/codefirst/AsakusaSatellite.png?branch=master)](http://travis-ci.org/codefirst/AsakusaSatellite) [![Code Climate](https://codeclimate.com/github/codefirst/AsakusaSatellite.png)](https://codeclimate.com/github/codefirst/AsakusaSatellite) [![Coverage Status](https://coveralls.io/repos/codefirst/AsakusaSatellite/badge.png?branch=master)](https://coveralls.io/r/codefirst/AsakusaSatellite) [![wercker status](https://app.wercker.com/status/b901326474567a915d89a93aed4b1ad5/s/ "wercker status")](https://app.wercker.com/project/bykey/b901326474567a915d89a93aed4b1ad5)

Overview
----------------

AsakusaSatellite is a realtime chat application for Developers.

Authors
----------------

 * @suer
 * @mallowlabs
 * @mzp
 * @shimomura1004
 * @banjun

Requirement
----------------

 * Ruby 2.5 / 2.6
 * Bundler 2.0.2 or later
 * MongoDB 3.6.12

Install
----------------

Install dependencies:

    $ bundle install --path .bundle --without development test

Precompile assets:

    $ bundle exec rake assets:precompile RAILS_ENV=production

If you upgrade AS from 0.7.0 or older, execute following:

    $ curl https://raw.github.com/gist/2792357/asakusasatellite_migration_for_v0.7.0 | mongo <db_name>

Excecute mongodb and socky:

    $ mongod --dbpath <dir_name>
    $ bundle exec thin -R socky/config.ru -p3002 -t0 start

Run AsakusaSatellite:

    $ bundle exec rails s -e production

and access to http://localhost:3000/

For JRuby user
---------------

### How to deploy

    $ bundle exec rake assets:precompile
    $ bundle exec warble

### limitation

 * Don't use socky on JRuby. use keima or pusher

For developers
---------------

### Run


    docker-compose up


and access to http://localhost:3000/

### Test

#### individual testing

    $ docker-compose run app bundle exec rspec spec/{controller,model}/$(name)_spec.rb

#### test all

    $ docker-compose run app bundle exec rake

#### run with rcov

    $ docker-compose run app bundle exec rake spec:rcov

#### auto testing

    $ docker-compose run app bundle exec guard start

#### JavaScript testing

Requirement: phantomjs 1.5+

    $ docker-compose run app bundle exec rake qunit

### Generate Plugin Template

#### generate filter

    $ docker-compose run app rails g as_filter test

edit filies

 * plugins/as_test_filter/lib/test_filter.rb
 * plugins/as_test_filter/spec/lib/test_filter_spec.rb

edit config/filters.yml

    - name: test_filter

#### generate viewhook

    $ docker-compose run app rails g as_viewhook test

edit files

 * plugins/as_test/lib/test.rb
 * plugins/as_test/spec/lib/test_spec.rb

Thanks
----------------

### Very cute icons

Several icons are from [Farm-Fresh Web Icons](http://www.fatcow.com/free-icons).
These icon sets are licensed under a Creative Commons Attribution 3.0 License.

### Cool sound

Cool sound is created by [On-Jin](http://yen-soft.com/ssse/). Do not redestribute the sound file.

### Redmine logo

Redmine Logo is Copyright (C) 2009 Martin Herr and is licensed under ThereCreative Commons Attribution-Share Alike 2.5 Generic license.

See http://creativecommons.org/licenses/by-sa/2.5/ for more details.