これは何?

kaakaa/ppt-museum: ppt/pptx file uploader

docker-compose up -dだけで起動する PowerPoint 資料アップローダを作っています。

トップ画面

スライド画面

使い方

必須環境

実行コマンド

$ git clone https://github.com/kaakaa/ppt-museum.git
$ cd ppt-museum

// docker v1.10.0+ / docker-compose v1.6.0+ の場合
$ docker-compose up -d

// 上記のバージョン以外の場合
$ docker-compose -f docker-compose-v1.yml up -d

http://localhost:4567/ にアクセスするとトップページが表示されます。

内部構造

アーキテクチャ

4 つの Docker コンテナを起動しています。

既知の問題

他にもたくさんありますが。。。

背景

以降は蛇足ですが、これを作ろうと思った背景について。


社内勉強会の資料をアップロードするために作りました。

社内勉強会の資料には、社外 NG の話が含まれていたり、「外に公開するほどの…」という方もいたりするので、そういう資料を個人で貯めこむことの無いようにと作りました。また、勉強会開始当初は勉強会用に立ててる Wiki に資料を添付するという運用を取っていましたが、Wiki に添付された資料をわざわざダウンロードして開くことなんて無いので、閲覧機会の損失を防ぎたかったという想いもあります。


その昔にkaakaa/pptgalleryを作って今まで運用していました。 しかし、コレには

などの辛い面が多くあったため、匙を投げることにしました。 そして作りなおしたのが kaakaa/ppt-museum です。

kaakaa/pptgalleryの反省から

という方針で作っています。


また、作りなおそうと思ったきっかけとなったのが、azu/pdf.js-controllerを見つけたことでした。スライド表示部分ではazu/pdf.js-controllerをそのまま使っています。

PPTGallery の頃にも、PowerPoint ファイルをJODConverter | Art of Solvingで PDF ファイルに変換することはできていましたが、その PDF ファイルをスライド形式で表示する方法が分からず、ImageMagick を使って画像ファイルに変換したものを表示するという茨の道を選択してしまいました。

azu/pdf.js-controllerにより、PowerPoint ファイルを PDF ファイルに変換するところまでを考えれば良くなったため、Javascript 方面へ深く足を踏み入れなくて済みました。

おわりに

docker を使って開発してみるのは初めてでしたが、一度動かせればインフラを簡単に立て たり壊したりできるので、アプリを書くことに集中できるようになっていると思います。


これを作る時に試した、Gradle を使った npm/grunt ビルドや、Docker イメージの作成について、下記にまとめています。 Gradle で bower を利用したフロントエンドのビルドまでを行う方法 (1/6) - Qiita

comments powered by Disqus