C++/Vue.js/Webpack/FireBaseで自作のナレッジベースを作ってみた。
バックエンドをcpp-httplibを使ってる。
といってもC++側での処理は、assetsディレクトリ以下のindex.htmlを展開させるようにルーティングしてるだけ。
なので、C++のコード自体は非常に短い。
で、フロントエンドを最近はまってるVue.jsで書いた。
assets以下にwebpack.config.jsとpackage.jsonを作成してyarn経由でライブラリを追加してコーディングしていった。
おおよその手順は、こちらでまとめたものと同じ。
ただ、上記の記事で使ったLunaってWebフレームワークと違い、cpp-httplibはSPA風にルーティングを処理させるのができなかった(ほんとはできるかもしれない・・・・・・)
なので、Bootstrapのtabsを使い、タブで画面切り替えを実装。
最後に、ナレッジを保存するDBとかの処理をどうしようかと考えてたんだけど
そういや、FireBase使ったことないなと思い、FireBaseでやってみた。
キーとかをソースに直接書きたくなかったのでdotenv-webpackを使い、環境変数で処理。
あとは、assets/components/web/tabs/index.vueでFireBaseのキーを使う。
残りのフロント周りのデザインとかはBootstrapでよしなにさせた。
今後はPWA対応とかを勧めていこうかと思う