Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uzulla/yancha

yancha is Yet Another Nerwork CHAt. (old name yairc) by Hachioji.pm
https://github.com/uzulla/yancha

Last synced: about 1 month ago
JSON representation

yancha is Yet Another Nerwork CHAt. (old name yairc) by Hachioji.pm

Awesome Lists containing this project

README

        

# yancha [![Build Status](https://travis-ci.org/uzulla/yancha.png?branch=master)](https://travis-ci.org/uzulla/yancha)
yancha (旧名yairc) はログの保全、リアルタイム性、モバイル端末への対応を重視した、Perlで作成されたチャットシステムです。

サンプル
[http://yancha.hachiojipm.org:3000/](http://yancha.hachiojipm.org:3000/)

サーバサイドはPerl、クライアントサイトはHTML+JSで作成され、PocketIOによりWebsocketで通信しています。

## yanchaの目標 ##
IRCなどの不便な点をカバーするチャットシステムを作る事です。

具体的には
* ログの消失 → 全件をDBに永続保存
* 多チャンネル接続時の一覧性 → チャンネルではなく、ストリームとタグを採用
* 高度な引用方法 → コード貼り付け時のシンタックスハイライトや、インライン画像表示など
* セキュリティ → 認証によりユーザ詐称の回避、通信の暗号化
* モバイル端末への対応 → スマートフォン対応
* 外部連携 → 利用しやすいAPIを用意
* ログの再利用 → チャットログの引用機能
* 外部SNSとの連携 → retweet的機能

などが目標となっています。
(上記は実装中や、構想段階で実装されていないものも含みます)

## サーバサイド動作環境 ##
Perl 5.12以降(サンプルサイトは5.14で運用しています)
必要なモジュールは Makefile.pl を参照下さい。

## クライアント動作環境 ##
* Websocketをサポートするモダンブラウザ(Chrome,Firefox等)
* iOS5以降、MobileSafari(iPhone/iPad)
* Android 2.3以降、Webview等

## インストール方法 ##
1. `$carton install` を実行して下さい
2. [DB に MySQL を利用したい場合] `$carton install --cpanfile cpanfile.mysql` を実行して下さい
3. データベースを用意し(現在はMySQL、SQLiteに対応)、db/init.sql(init_sqlite.sql)にて初期化を行って下さい。
4. config.pl.sampleをconfig.plにコピーし必要な情報を設定下さい。最低限DB接続情報の設定が必要です。
5. start.shを実行することで起動ができます。

## 備考 ##
start.shを以下のように記述することで、各種ログが取得出来ます
```
#!/bin/sh
export POCKETIO_CONNECTION_DEBUG=1
export YANCHA_DEBUG=1
twiggy -l :3000 --access-log access_log chat.psgi >> yancha_log 2>&1
```

## よくある質問 ##

Q.
yanchaを起動できたけど、どうすればTwitterでログインできるの?

A.
まず http://dev.twitter.com/ に行って、アプリケーションの登録を行ってください。
その際、Callback URL というものを入力できる箇所がありますので、

(あなたのサーバ上のyanchaのURL)/login/twitter

を指定してください。

例:
yanchaのURLが "http://isu.mohikan.example/yancha" であれば、Callback URLは

http://isu.mohikan.example/yancha/login/twitter

となります。

アプリケーションの登録ができたら、config.plでConsumer Key および Consumer Secret を以下のように設定します。

'server_info' => {

... 中略 ...

auth_endpoint => {

... 中略 ...

'/login/twitter' => [
'Yancha::Auth::Twitter' => {
consumer_key => 'ここにConsumer Keyを入力',
consumer_secret => 'ここにConsumer Secretを入力',
}, => { description => 'Twitter!' },
],
},

... 中略 ...

},

最後にyanchaを再起動すれば、Twitter経由でのログインが有効になります。

## お役立ち情報 ##

その他情報はWIkiをご参照ください

https://github.com/uzulla/yancha/wiki

## ライセンスについて ##
MIT License です。
http://www.opensource.org/licenses/mit-license.php