Top | Works | Profile | Knowledge | Contact

Works of CakePHP


オープンソースソフト紹介

URL : OuDia Online @ github


概要

フレームワーク CakePHP 3.5
使用言語 PHP 7.2
使用RDBMS MariaDB 10.1.30
文字コード UTF-8
主な利用ライブラリ Twitter Bootstrap
Composer

take-okm氏のフリーソフトウェアOuDiaをWeb移植したものです。



Composerによるインストールの簡略化

Webアプリケーションのオープンソース化を図るとなると、ライブラリのバージョン管理とインストール手順の統一が最大の課題であると感じています。

その2つを解決するため、設定手順のうちライブラリのインストールを全てComposerに統一しました。元々ライブラリをあまり使わないようにするためCakePHP3本体以外となるとTwitterBootstrapのみ必須となっていましたが、そのインストール方法も手動でやろうとするとやり方は様々でした。これを統一するため、Composerを利用することにしました。


環境依存性を極限までカット

元々WindowsアプリケーションであったOuDiaを移植するに当たり、『ローカルにサーバを構築してそこで運用する』というケースも想定しました。

ともすると、Windows上でもMac上でも、もちろんLinux上でも動くようにする必要があるということで、XAMPP/MAMP/LAMPの3環境で動作確認を行っています。


テーブル設計実装による柔軟な表示の実現

元々のアプリケーションでは、保存先のファイルはドット区切りのCSVファイルでした。これは小さいものならまだしも、大きなものになってくると破損のリスクやパフォーマンスがどうしても気になる構造でした。

これを解決するため、RDBMSへ内容を正規化しつつインポートし、細かくわかりやすくデータを格納できるよう設計しました。

また、ダイヤとデータの関係性を分解して保存することで、元々は実装できなかった駅時刻表についても実装できるようになりました。