クローズドな環境でのナレッジ共有ツールを自作しているという話 -> 現在プライベートにしてます。

[追記]

現段階では前職に迷惑がかかる恐れがあったので非公開にしました。
Starをして下さったみなさんありがとうございました。

全く別のプロダクトになったと思った時再度公開したいと思います。


[以下は元の記事]

久しぶりに記事を書いたので現状を報告すると、先日の1月10日付でIncrementsを退社しました。
今はインディーズゲームして遊んでます。PZFTL楽しいです。


そんなことはどうでも良くて。


先日から数人で作業をするため、PivoralTracker + HipChatで情報共有していました。
しかし、それらのツールだけだと整理された情報の共有が出来ないので、Qiita:Teamで情報共有しようと思ったのですが、"wiki"と"スマホで閲覧"したかったので自作してOSSにしました。



camelmsa/connect

機能について

実装済みの機能は以下です。

  • wiki機能
  • ブログ機能
  • markdown対応
  • 絵文字対応
  • 変更履歴機能
  • 通知設定(HipChat連携)
  • レスポンシブ

レスポンシブにすることでスマホでも情報を読めるようになるのはやっぱり便利。
Heroku, Sqaleで動作するのも確認済みです。

レスポンス速度が早いSqaleでの運用がおすすめです。

技術的な話

Rails 4.0.2 + Ruby 2.1で開発&動作しています。

何の機能を実装するのも基本的にgemがあるものはそれらを用いました。
そのためcontroller, modelがかなり薄くなってます。複雑な事をしていないという方が大きいかも。
(定番ですがdevise, devise_invitableはログイン周りの実装を大分楽にしてくれます)

デザインはbootstrap3を使いました。bootstrapを用いてもデザインは難しい。

markdown parserにkramdownを使用してましたが、ドキュメントが豊富ということもありredcarpetに変更しました。

redcarpetは昨年作者がメンテナーを募集していましたが、無事メンテナーも見つかり引き続き開発が続いてます。

これから

既に自分で使い始めていて使いにくい箇所を最優先で改善していこうと思います。また並行して下記の作業していきたい。

  • 検索機能
    • 現状実装していなくて不便
  • markdown preview
    • Qiita:Teamと比べるとまだまだ書きにくい
    • リアルタイムプレビューしたいが開発効率とのバランスを考えたい
  • Vagrant box もしくは Docker base imageを作成
    • 社内で動かしてみたいという声を頂いたため
    • 技術的に強く興味がある
  • 英語対応
    • view側で日本語を使用していないので、localeファイルを追加で英語対応はできる
  • gemによるプラグイン
    • これはまだ先の話
    • コア部分の実装を小さくし、欲しい機能だけgemで追加する仕組みにしたい

GitHubのStarを頂けたらモチベーションが上がり開発が加速しますので是非ともStarをお願いします :D

camelmsa/connect
issue・PR頂けると嬉しいです!