URL : OuDia Online @ github
| フレームワーク | CakePHP 3.5 |
|---|---|
| 使用言語 | PHP 7.2 |
| 使用RDBMS | MariaDB 10.1.30 |
| 文字コード | UTF-8 |
| 主な利用ライブラリ | Twitter Bootstrap Composer |
take-okm氏のフリーソフトウェアOuDiaをWeb移植したものです。
Webアプリケーションのオープンソース化を図るとなると、ライブラリのバージョン管理とインストール手順の統一が最大の課題であると感じています。
その2つを解決するため、設定手順のうちライブラリのインストールを全てComposerに統一しました。元々ライブラリをあまり使わないようにするためCakePHP3本体以外となるとTwitterBootstrapのみ必須となっていましたが、そのインストール方法も手動でやろうとするとやり方は様々でした。これを統一するため、Composerを利用することにしました。
元々WindowsアプリケーションであったOuDiaを移植するに当たり、『ローカルにサーバを構築してそこで運用する』というケースも想定しました。
ともすると、Windows上でもMac上でも、もちろんLinux上でも動くようにする必要があるということで、XAMPP/MAMP/LAMPの3環境で動作確認を行っています。
元々のアプリケーションでは、保存先のファイルはドット区切りのCSVファイルでした。これは小さいものならまだしも、大きなものになってくると破損のリスクやパフォーマンスがどうしても気になる構造でした。
これを解決するため、RDBMSへ内容を正規化しつつインポートし、細かくわかりやすくデータを格納できるよう設計しました。
また、ダイヤとデータの関係性を分解して保存することで、元々は実装できなかった駅時刻表についても実装できるようになりました。