• This repository has been archived on 08/Feb/2019
  • Stars
    star
    117
  • Rank 301,828 (Top 6 %)
  • Language
    Ruby
  • License
    MIT License
  • Created about 13 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

DEPRECATED: please note, this project is no longer being maintained

PLEASE NOTE, THIS PROJECT IS NO LONGER BEING MAINTAINED

Inboxes

Build Status

Inboxes is a young messaging system for Rails app. It:

  • provides 3 models for developers: Discussion, Message and Speaker
  • read/unread discussions counter
  • any user can be invited to discussion by the member of this discussion, so you can chat with unlimited number of users
  • have configurable behavior via CanCan Ability
Sponsored by Evrone

Getting Started

Prerequisites

Inboxes requires Rails 3.x and Devise for user identification (surely, messaging system is not possible without users). We recommend to use Inboxes with Faye, because it's really sexy with it.

Remember that unfortunately, Inboxes reserve 3 resources names: Discussion, Message and Speaker.

Since version 0.2.0, it is possible to add has_inboxes option to any model. For instance, it can be Person or Teacher.

Installation

Make sure that Devise and CanCan are already installed and configured in your app!

  1. Add gem "inboxes", "~> 0.2.0" to the Gemfile and run bundle install
  2. Execute rails generate inboxes:install. This command will generate migration for messaging system. Don't forget to run migrations: rake db:migrate
  3. Add has_inboxes to your User model like here.
  4. Add CanCan abilities to manage Inboxes models:
can [:index, :create], Discussion
can :read, Discussion do |discussion|
  discussion.can_participate?(user)
end
  1. Now Inboxes are ready to use. Open http://yoursite.dev/discussions to see the list of discussions. You can start new one.

Default Inboxes views are ugly, so you can copy into your app and make anything with them: rails generate inboxes:views If you have problems with installation, you can check code of demo app

Usage

I18n

By default, the gem provides localized phrases for Russian and English languages. You can easily override any of them. Here is list of all I18n phrases.

Integration with Faye

You can watch the demo of integration on YouTube

  1. Add gem "faye" to your Gemfile and run bundle install. Install Faye by the screencast

  2. Create messaging.js in app/assets/javascripts/ with this line: //= require inboxes/faye

  3. Copy or replace 2 views from Inboxes example app to your application: app/views/inboxes/messages/_form and app/views/inboxes/messages/create

  4. Add config parameters to your application config (last 2 are not necessary):

config.inboxes.faye_enabled = true
config.inboxes.faye_host = "inboxes-app.dev" # localhost by default
config.inboxes.faye_port = 9292 # 9292 by default
  1. Faye installation is finished. If you have any troubles, check the example app

While running Inboxes with Faye, don't forget to run Faye worker it: rackup faye.ru -s thin -E production You can read more about that on it's official page.

Hints

  1. If you want to add breadcrumbs to Inboxes pages, we recommend you to use crummy gem. It allows to define breadcrumbs in views.
  2. Add Pusher capability
  3. Email notifications and the ability to answer received emails like in Github issues (#7)

Running the tests

Finalize RSpec tests (are located in rspec branch)

Contributing

Please read Code of Conduct and Contributing Guidelines for submitting pull requests to us.

Changelog

The changelog is here.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License.

More Repositories

1

go-clean-template

Clean Architecture template for Golang services
Go
6,198
star
2

postcss-px-to-viewport

A plugin for PostCSS that generates viewport units (vw, vh, vmin, vmax) from pixel units. The best choice to create a scalable interface on different displays by one design size.
JavaScript
3,023
star
3

quiet_assets

DEPRECATED: As of sprockets-rails version 3.1.0, used in current versions of rails, this gem is deprecated
Ruby
1,415
star
4

factory_girl-seeds

Deprecated: please note, this project is no longer being maintained
Ruby
175
star
5

flutter_audio

A Flutter audio-plugin to playing and recording sounds
Java
108
star
6

capistrano-team_notifications

DEPRECATED: please note, this project is no longer being maintained
Ruby
102
star
7

carrierwave-video-thumbnailer

A thumbnailer plugin for Carrierwave that makes easy thumbnailing of your uploaded videos
Ruby
93
star
8

evrone-python-guidelines

Evrone Python team code guidelines
74
star
9

evroneCrop

DEPRECATED: please note, this project is no longer being maintained
JavaScript
53
star
10

normas

Normal Lightweight Javascript Framework for server-side render compatible with Turbolinks
JavaScript
31
star
11

docker-machine-vscale

Vscale docker machine driver
Go
27
star
12

lxc-frontend

DEPRECATED: please note, this project is no longer being maintained
Ruby
23
star
13

omniauth-yandex

Omniauth 1.0 strategy for Yandex.ru
Ruby
22
star
14

glider

DEPRECATED: please note, this project is no longer being maintained
CoffeeScript
19
star
15

evrone-django-template

Simple and ready to go Django Template.
Python
17
star
16

casbin-ruby

An authorization library that supports access control models like ACL, RBAC, ABAC in Ruby
Ruby
16
star
17

yandex-cleanweb

DEPRECATED: please note, this project is no longer being maintained
Ruby
16
star
18

spree_autosuggest

DEPRECATED: please note, this project is no longer being maintained
Ruby
16
star
19

masquito

Deprecated: please note, this project is no longer being maintainedplease note, this project is no longer being maintained
Ruby
15
star
20

vscale_api

Api client for Vscale (http://vscale.io) like godo
Go
15
star
21

capistrano_evrone_recipes

DEPRECATED: please note, this project is no longer being maintained
Ruby
13
star
22

toggl-python

Python
12
star
23

ultimate-helpers

DEPRECATED: please note, this project is no longer being maintained
CoffeeScript
11
star
24

irake

Lightning fast rake (in rails console)
Ruby
11
star
25

rails-settings-ui

DEPRECATED: This project was moved to another location - https://github.com/accessd/rails-settings-ui
Ruby
11
star
26

dev_must_have

Meta gem for must have Rails development gems
Ruby
10
star
27

glider-rails

DEPRECATED: please note, this project is no longer being maintained
CoffeeScript
9
star
28

activerecord-vertica-adapter

ActiveRecord adapter for Vertica database based on pg adapter
Ruby
8
star
29

ultimate-mixins

Simple library of SASS functions, mixins and basic polyfills
CSS
8
star
30

migration_opener

DEPRECATED: please note, this project is no longer being maintained
Ruby
8
star
31

polemic

Commentable engine for Rails 3
Ruby
8
star
32

worldcities

Deprecated: please note, this project is no longer being maintainedplease note, this project is no longer being maintained
Ruby
6
star
33

foreman_export_runitu

Foreman exporter to runit, unlike original runit exporter, does it without sudo
Ruby
6
star
34

localizator

Ruby
6
star
35

liker

Fetches the count of likes for specified URL in social networks
Ruby
5
star
36

evrone_opensource

Improve READMEs of opensource projects
Ruby
5
star
37

gitlab-campfire-hook

DEPRECATED: please note, this project is no longer being maintained
Ruby
5
star
38

runit-bootstrap

Bootstraps runit user instance on Ubuntu
Shell
4
star
39

mega-copy

Automated refactoring for Python (and not only) files
Python
4
star
40

withardry

A simple plugin to DRY models
Ruby
4
star
41

vocabulary

Wrapper for unofficial Google Dictionary API
Ruby
4
star
42

notification_troubleshoot

Java
4
star
43

ekey

Ruby wrapper of API of the ekey.ru
Ruby
4
star
44

bmstu_2024

Ruby
4
star
45

destiny

Dice roller in d&d style for one of our projects
Ruby
3
star
46

terraform-yandex-postgres

HCL
3
star
47

terraform-yandex-vpc

HCL
2
star
48

activejob_nats_adapter

Ruby
2
star
49

yandex_direct_api

DEPRECATED: please note, this project is no longer being maintained
Ruby
2
star
50

octoshell-extend

DEPRECATED: please note, this project is no longer being maintained
Ruby
2
star
51

wheremymates

DEPRECATED: please note, this project is no longer being maintained
Ruby
1
star
52

twilio-sdk

Dart
1
star
53

terraform-yandex-iam

HCL
1
star
54

evrone_open_source_template

Evrone Open Source Template
1
star