ツンデレ本管理プロジェクトの話

今回はプロジェクトの開始のお知らせです。

といっても、Version 1.0.0をリリースしました!w

概要

このプロジェクトでは、ツンデレ本(積んでる本)の管理を行います
要するに、買って積んでいる本を管理して書籍購入を抑制するってのです。
現在読んでいる本を表示すれば面白くない? → サイドバーにスタティックに書いている現在読んでる本をDBで管理できればとか思っております

提供サービス

  • ツンデレ本一覧
  • ツンデレ本管理(新規追加、タイトル修正)
  • 既読処理
  • 現在読んでる本管理

経緯というやつ

スタティックでは前からありました。http://35.78.51.61/reserve_books

んで、Wordpressのアップグレードするに従い、プラグインが動かなくなりましたw
こんな感じで描けばでていましたが… 読み込みで死んでいますw

[amazonjs asin="4873118409" locale="JP" tmpl="Small" title="入門 Kubernetes (オライリー・ジャパン)"]

なら、自分で作ろう!なんて思ったり… 9/21の話でした

実装技術など

今回作成するにあたって、勉強すっかなぁ〜ということで、vue.jsを使ってみました。

キーワードを簡単にまとめますと

・Laravel (PHP)
・Laravel-mix
・node.js
・vue.js
・MySQL
・Docker

ま、こんな感じです。
ソースは公開していないのですが、ローカルの GitlabにてCIしていますw

v-1.0.0のリリースの話

とりあえずのリリースしました。2021-09-26 18:00
機能はこんな感じ

  • ツンデレ本一覧画面 : http://35.78.51.61/tsundere/
  • ツンデレ本管理画面
    • 一覧表示
      • ページング
      • フィルタリング機能
    • 新規追加機能
    • 編集機能
      • AWSアイテム検索機能
    • 既読機能
    • ログイン機能

ざっくりと書くとこんな感じでリリースしました!

管理画面の機能が多いので一般ユーザからするとツンデレ本一覧だけです

難しかったことなど

Vue.js

やっぱりVue.jsは難しかったです… さっさと読書中予定の本を読めw
ってかエラーの解析がめんどくさかったですw
ミスったらタグ自体がNGになるのでとかとか
vue.js <-> laravel : はapi(json)で最初から考えていたのは簡単にFixしました

まだ、調整中ですが、laravel-mix(npm)の成果物のファイルサイズが大きすぎるのは気になりますね

2.4M Sep 26 18:08 admin.js
2.1M Sep 26 18:08 app.js
0B Sep 26 18:08 auth.js

294B Sep 26 18:08 admin.css
3.1M Sep 26 18:08 app.css
143K Sep 26 18:08 auth.css

auth系は、ログイン画面ではvue使っていないので、読み込みを早くするために別に切っています…
deferっているから、読み込み完了までデザイン崩れのままだしね…
この辺りは要調査ですね

デザイン崩れは、今のところ

    <body onload="document.getElementById('app').style.display = 'block'">
        <div id="app" style="display: none">

めちゃダサですw

Amazon系は….

PAPIv5のリクエストを送って情報を取得しております
・ ASINコードから書籍タイトルの取得
・ キーワード(バーコード)から書籍情報(ASIN,タイトル)を取得
Scatchpad : https://webservices.amazon.co.jp/paapi5/scratchpad/
を使うと割とわかるかな… サンプルあるし… だいぶカスタマイズしたけど
キーワードは10件しか取れないけど、それを100件に対応はちょっとめんどくさかったかな

管理画面のログイン必須に関して

これは頭を使いませんでした(サンプルをそのまま流用)

php artisan ui vue --auth

で骨格作って、いらないものをガッツり削除しましたw
今のところ、DBにユーザ情報を直書きで管理予定でしたので

次回リリース予定

次回リリースする予定のものをまとめますと

  • ブログにツンデレ本読書中のwidgetを追加
  • Wedget通信用APIを実装
  • 読書中の書籍管理機能実装
  • ツンデレ本一覧のページング?(まだ登録していませんが、ツンデレ本… まだまだありますw)