Quantcast
Channel: 週記くらい | Category Archives: BTS
Viewing all articles
Browse latest Browse all 10

Golang で、Multivac という Starbug1の後継BTSを作ってます

$
0
0

Starbug1

もう7年前くらいから、Starbug1というBTSをC言語で作成して公開しています。

Starbug1は、高速に動作するカスタマイズの制約の少ないBTSを目指して作成しました。 これはこれで、redmineなどのプログラマ向けプロジェクト管理システムは大袈裟だけど、 気軽にタスク管理をしたいという、ITに疎い人達でも使えるBTSとして、 それ程ユーザが多いとは言えないですが、使ってもらえています。ありがとうございます。

Starbug1は、C言語で書いていて、機能的には 様々な制限を設けています(私の力量不足ですが)。その結果一応高速に動作するようにはなっていました。 制限というのは以下のようなもの

  • MVCではなく、テンプレート機構がないため、ユーザがHTMLレイアウトを気軽に変更できない
  • サーバ側validationが貧弱(無いに等しい。おかしなデータがきてもそのまま登録するだけ)
  • C言語でベタベタに書いてたので、OSS的な開発者の広がりが少なかった。

それらの問題を解決できるし、モチベーションを維持できそうな解決策として、 Starbug1とデータ互換な、BTSをGolangで作るというのを考えました。

Golang

Golangを採用する利点というのは、ネイティブバイナリにコンパイルする言語なので、動作速度や配布・インストールの面で期待できると思ったからです。 あと、C言語に比べれば数倍書き易いし読み易いし、MVCで作ればテンプレートも分離できて、パッチとかも沢山もらえるといいなというのもあります。

Multivac

https://github.com/smeghead/multivac

今のところ、新しいBTSの名前は Multivac です。変わる可能性はあります。 まだまだ移行中で、チケットの参照と検索ができる状態です。

Starbug1 の デモサイトのデータベースを参照して動いてるMultivacです。

http://multivac.starbug1.com/

※デモサイトのデータは、だいぶスパムにやられててゴミデータがたくさんあります。すいません。

Starbug1からの移行は、ぼちぼち進めていきますが、以外とStarbug1の内部構造が複雑だったのと、 仕事の関係で時間が取りにくいので、公開はもうちょっと先になると思います。


Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles





Latest Images