Giter VIP home page Giter VIP logo

yancha's Introduction

yancha README

yancha (旧名yairc) はログの保全、リアルタイム性、モバイル端末への対応を重視した、Perlで作成されたチャットシステムです。

サンプル http://yancha.hachiojipm.org/

サーバサイドは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. データベースを用意し(現在はMySQL、SQLiteに対応)、db/init.sql(init_sqlite.sql)にて初期化を行って下さい。
  2. config.pl.sampleをconfig.plにコピーし必要な情報を設定下さい。最低限DB接続情報の設定が必要です。
  3. 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

ライセンスについて

MIT License です。 http://www.opensource.org/licenses/mit-license.php

yancha's People

Contributors

uzulla avatar makamaka avatar ichigotake avatar ytnobody avatar hiratara avatar tokubass avatar hirobanex avatar equinox79 avatar

Watchers

 avatar James Cloos 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.