Git Product home page Git Product logo

lodge's Introduction

Gitter chat Build Status Coverage Status Code Climate

=====

これは何?

ロッジと呼びます。 __イントラネット限定でも使える、ナレッジ/ノウハウ情報共有サービス__です。 手軽に導入できて、チーム内全体の情報共有やナレッジ蓄積の手助けができることを目標としています。

主な特徴

以下のような特徴を持ちます。

  • 無料、OSS、MIT License
  • イントラネット内での構築が可能なので、社外秘な情報を含むナレッジやノウハウの共有に利用可能。
  • Markdown記法による直感的かつ簡単な記述でサクサク書ける
  • コードのシンタックスハイライト機能
  • 投稿前に確認できるプレビュー機能
  • ストック機能により、お気に入りの記事やあとで見たい記事等を手軽に保存
  • 記事に複数のタグをつけて管理
  • タグをフォローすることによる個人ごとのフィードのカスタマイズ表示
  • 記事タイトルによる簡単な検索
  • 導入までの手軽さ(すぐにインストールできます)
  • コメント、Contribution、通知機能等によるコミュニケーションやナレッジ共有活動の活性化
  • 編集履歴機能により記事の変更点を差分表示
  • メールアドレスだけで誰でも簡単にアカウント作成が可能
  • Gravatarと連携したユーザアイコン(登録メールアドレスから自動取得)

上記以外にもまだまだ新機能開発や改善を行っていく予定です。皆様のご協力をお願い致します。

スクリーンショット

一覧画面

一覧画面

記事閲覧画面

記事閲覧画面

デモ

以下のURLから、実際に体験できます。

http://lodge-sample.herokuapp.com/

お試し用のユーザ名は以下、パスワードは全て password でログインできます。

また、新規ユーザ登録もメールアドレスから行えます。

※但し、上記サイトは自体はpublicなので、ご登録の際にはご注意ください。

インストール

  1. 事前準備として以下が必要ですので、インストールしておきます。

    • Ruby 2.0以上
    • Gem 2.2以上
    • MySQL (MySQLを利用する場合)
    • sqlite3 (sqlite3を利用する場合)
    • Bundler
  2. まずは本プロジェクトをcloneしてきます。

    git clone https://github.com/m-yamashita/lodge.git
  3. カレントディレクトリを移動します

    cd lodge
    
  4. Bundler をインストールします

    gem install bundler
    
  5. config/database.example.ymlconfig/database.yml としてコピーし、以下のように編集します(SQLite3もしくはMySQLをご利用になる場合はコメントアウトを外して設定すると楽です)。

    default: &default
    #  # === sqlite3 ===
    #  adapter: sqlite3
    #  encoding: utf8
    #  pool: 5
    
      # === mysql ===
      adapter: mysql2
      host: localhost
      username: your_mysql_user_name
      password: your_mysql_password
      encoding: utf8
      pool: 5
  6. bundle install --path vendor/bundle を実行し、依存ライブラリをインストールします。

  7. .env.example.env としてコピーし、必要な環境変数を設定します。各コメントを参考に設定してください。最低限設定が必要な項目は以下の通りです。

    ### アプリケーションのドメイン
    LODGE_DOMAIN      = example.com
    
    # Cookie 検証用キーの設定
    # productionモードで動かす場合に設定(`bundle exec rake secret` で生成する)
    SECRET_KEY_BASE   = __some_random_string__
    
    # 認証キーの設定
    # productionモードで動かす場合に設定(`bundle exec rake secret` で生成する)
    DEVISE_SECRET_KEY = __some_random_string__
    
    ### メールの設定
    
    # 外部 MTA (SMTPサーバ) を利用してメール送信する場合
    DELIVERY_METHOD   = smtp
    
    # DELIVERY_METHOD = smtp の場合のみ
    # 以下の設定が有効です(それ以外は無視されます)
    SMTP_ADDRESS      = smtp.gmail.com
    SMTP_PORT         = 587
    SMTP_USERNAME     = username
    SMTP_PASSWORD     = password
    SMTP_AUTH_METHOD  = plain
    SMTP_ENABLE_STARTTLS_AUTO = true
    
    # テーマを設定します。
    LODGE_THEME       = lodge
  8. bundle exec rake db:create RAILS_ENV=production を実行し、データベースを作成します。

  9. bundle exec rake db:migrate RAILS_ENV=production を実行し、テーブルを作成します。

絵文字の準備

github/gemojiを利用して各種絵文字を利用できます。

絵文字をダウンロードする為、以下のコマンドを実行します。

bundle exec rake emoji

起動

  1. カレントディレクトリを移動します。

    cd <lodgeをクローンしたディレクトリ>
    
  2. サーバを起動します。

  • Unicorn を使う場合

    bundle exec unicorn -c config/unicorn.rb -E production
    
  • Thin を使う場合

    bundle exec rails server thin -e production
    
  • WEBrick を使う場合

    bundle exec rails server -e production
    
  1. ブラウザで http://localhost:3000 にアクセスできたら起動成功です
  2. ログファイルは以下の場所に吐き出されます
  • Unicorn の場合
    • <lodgeをクローンしたディレクトリ>/log/unicorn.production.log
  • Thin, WEBrick の場合
    • <lodgeをクローンしたディレクトリ>/log/production.log

Vagrant up

VirtualBoxVagrant を使って、 vagrant up することで、VM上に手早く開発環境を用意することができます。

手順

  1. VirtualBox をインストール

  2. Vagrant をインストール

  3. vagrant plugin install vagrant-vbguest

  4. vagrant plugin install vagrant-librarian-chef

  5. vagrant plugin install vagrant-vmware-fusion

  6. vagrant plugin install vagrant-gatling-rsync

  7. vagrant plugin uninstall vagrant-vmware-fusion

    • vagrant-gatling-rsync をインストールするために必要だが、VMWare のライセンスを持っていないとエラーになるため削除します
  8. git clone https://github.com/m-yamashita/lodge

  9. cd lodge

  10. vagrant up

  11. VMが起動するまで待つ

  12. vagrant gatling-rsync-auto

    • ホスト上の git clone したソースコードを自動的にVM上の /vagrant に同期するために必要です

    • vagrant rsync-auto がなぜか rsync__exclude を使ってくれないため、 vagrant-gatling-rsync を利用します

    • 公式ドキュメントのNFSの項目 に書かれていますが、VirtualBox の共有フォルダはパフォーマンスが悪いため使用していません。

      In some cases the default shared folder implementations (such as VirtualBox shared folders) have high performance penalties.

  13. http://localhost:3000/ にアクセスして Lodge の画面を見ることができたら成功です

諸々の情報

  • アクセス URL
  • DB
    • MySQL
  • メールサーバ
    • VM 内の Postfix
  • Lodge の起動スクリプト
    • /etc/init.d/lodge (Unicorn を起動)
  • RAILS_ROOT
    • /vagrant
  • RAILS_ENV
    • development
  • ログ
    • /vagrant/log/unicorn.development.log

最後に

開発にご協力頂ける方を募集しています。

まだまだ拙いLodgeの開発を手助けしていただける方を大募集中です。 新機能の開発や改善はもちろん、ソースのリファクタリングからテストの記述、 果てはマニュアル改善まで、どうぞ遠慮無くpull request頂ければと思います。 開発前に開発ガイドに目を通して頂けると幸いです。

lodge's People

Contributors

comuttun avatar dddaisuke avatar iyuuya avatar jey3dayo avatar joe-re avatar kakipo avatar kakusuke avatar m-yamashita avatar shiena avatar tasuku-s avatar yasuhiroki avatar yuki24 avatar zenizh avatar

Watchers

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