2月1週

  • 2月はfirebaseを一通り触ろう

土曜:8h

SSRな環境でアイコンを導入しようとした際にハマった

  • まずはfontawesomeの導入(以下をそのまま使った)
  • アイコン — Vuetify.js
  • npm install @fortawesome/fontawesome-free -D
  • plugin作成
// src/plugins/vuetify.js

import '@fortawesome/fontawesome-free/css/all.css' // Ensure you are using css-loader
import Vue from 'vue'
import Vuetify from 'vuetify/lib'

Vue.use(Vuetify)

export default new Vuetify({
  icons: {
    iconfont: 'fa',
  },
})
  • fontawesome導入時にSSRをサポートしていないvuetifyプラグインが追加されていたことが原因らしい
  • pluginの呼び方を変えてSSRをfalseにした
plugins: [
    { src: '~/plugins/vuetify.ts', ssr: false }
  ],
  • ↓がめちゃくちゃ助かった。
  • qiita.com

午前までの成果

  • リアクティブ検索・ジャンルの追加 f:id:yosuke0517:20200201100316j:plain

テーブルの中にリンクを設置するには

↑にてタイトルにリンクを設置する

午後の成果

  • 詳細画面を作成し貸出状態にするまで f:id:yosuke0517:20200201203643j:plain

日曜:2h

  • 午前の成果
  • 返却処理の実装 f:id:yosuke0517:20200202122952j:plain

モバイルの時デザインが乱れるため以下を参考に

月曜:12h

  • lodashのrangとtime

火曜:10h

水曜:9h

木曜:10h

const tabsTmp = _.cloneDeep(tabs)
    tabsTmp.sort(function(a, b) {
      if (new Date(a.lastUpdDt) > new Date(b.lastUpdDt)) {
        return 1
      } else {
        return -1
      }
    })
    return tabsTmp[tabsTmp.length - 1]
  }

金曜:3h

cloudfunctionsにてプッシュ通知を送る関数を定義してクライアントから叩く

まずは cloud functionsのチュートリアル

  • https://firebase.google.com/docs/functions/get-started?authuser=0
  • デプロイ後のURLで提示されるURLを叩くとエラー(Error: could not handle the request)。↑その後の手順に書いてあったけど、正解はパラメータが足りていなかっただけ。
  • https://us-central1-プロジェクト名.cloudfunctions.net/addMessage?text=sampleMessage

結局のところ目指すところは以下

週次報告

  • 目標勉強時間:70h
  • 勉強時間:54h
  • 目標との乖離:-264.25h
  • 何を得たか:nuxt.js + TypeScriptの基礎 + javascriptの基礎 + ディベロッパーツールの使い方
  • 何が必要か:nuxt.js + typescriptの基礎と応用
  • 来週の目標:nuxt.js + typescript + firebaseにて書籍管理アプリのモックを作成する