Skip to content

Repository files navigation

Nuxt Calendar App

Qiita のこの記事に触発されて Google カレンダーのトレースを試みた。

DEMO

機能

  • ソーシャルログイン(Google, Facebook, Github, テスト用アカウント)
  • カレンダー
  • スケジュールの登録、更新、削除
  • wikipedia 今日は何の日

使用技術

  • nuxt.js
  • typescript(移行中のため部分的に js)
  • firebase (firestore, auth, functions)
  • jest(複雑な処理部分のみテストを作成)

雑記

  • firebase の課金がこわいので、読み書き回数をカウントして上限を超えた場合は firestore の rule ではじくようにしている。
    • functions の定期実行で毎日読み書きカウントはリセットされる。
  • Vuetify の Calendar コンポーネントを使えばほぼ Google カレンダーなものが作れるが、学習目的のため自力で作成を試みた。

苦労したところ

スケジュール部分で苦労した(月をまたぐなど、ある一定の期間をもつスケジュールをどうやってユーザーが今表示している月内の週にマッピングするか) 現状は以下のかたち(ユーザーの入力をカレンダーにマップするために、月、週で分割していく)

  1. ユーザーの入力したスケジュールを月ごとに分割。firestore に保存
  2. firestore からスケジュール(カレンダーが表示している年のスケジュール)を取得し現在表示している月だけにフィルター
  3. フィルターしたスケジュールを週ごとに分割。何曜〜何曜のような形で各週ごとに分割。
  4. そのオブジェクトをもとにスケジュールを描画

このやり方がいいのかどうか自信ない。。 ちゃんと読み込めてないのでおそらくだけど、Vuetify のカレンダーではカレンダーの日単位でその日のスケジュールを確認しているようだった。このやり方とは全然違っていると思う。

About

sample Google calendar like app use nuxt.js

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages