Giter VIP home page Giter VIP logo

quattro-luncher's Introduction

quattro-luncher's People

Contributors

pannpers avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

quattro-luncher's Issues

Enable Firebase Hosting

Background

Requirement / Definition of Done

  • firebase deploy コマンドを使い、アプリを公開できること

Notes

Add canLeader attribute to SlackUser

Overview

インターン生や業務委託のメンバーのように、リーダー(実質、経費の建て替えをする人)としてアサインしたくないメンバーがいる。そのようなメンバーをパーティー編成時にリーダーから除外するために canLeader 属性を SlackUser に追加する。

Requirement / Definition of Done

  • SlackUsercanLeader 属性を追加する。(デフォルト値は true
  • パーティー編成の際に canLeadertrue のメンバーのみがリーダーに選ばれるようにする。
  • /admin ページで canLeader の値をトグルできるようにする。

Notes

Create Random Party Generator

Background

Requirement / Definition of Done

  • Paramsとして渡された、usersを4〜5人のチームにランダムに割り振り、ランチパーティーを作成する
  • 返り値はパーティーの配列を返す

Notes

過去のパーティー履歴を考慮して、被りが少ないようにメンバーを割り振るのは、後のIssueで対応

Create Lunch History Component

Background

Requirement / Definition of Done

  • /history にアクセスしたら表示
  • 日付ごとにリスト表示
  • パーティーメンバーが分かるようにする

Notes

Create Home Component

Background

Requirement / Definition of Done

  • / にアクセスした時に表示される
  • 次の直近のランチパーティーが確定している場合
    • 確定済みの次のランチパーティーを表示
    • 編成・確定ボタンは表示しない
  • 次の直近のランチパーティーが未確定の場合
    • 確定ボタンを押すまでは何度でも試行可能
    • 気に入ったパーティーが編成できたら確定ボタンを押す

Notes

Add Slack Notification to notify New Parties Generated

Overview

ランチパーティーが決定したら、Slackにメンションありで通知する。

Requirement / Definition of Done

  • FirestoreのpartiesCollectionが作成されたことでTriggerされるFunctionを作成する。 notifyNewParties
  • メッセージは各パーティーごとに送信する。
  • メッセージ内にはパーティーメンバー全員にメンションを入れる。

Notes

Add Instagram Photo to a Message Text in New Party Notification

Overview

Requirement / Definition of Done

  • 新パーティーの通知メッセージ内にInstagramの写真リンクを入れ込む。
  • リンクはハッシュタグ #gotandalunch で検索した人気のメディア
  • その他隠し要素も入れる

Notes

Automatically Update Slack User Info

Overview

Slackに新しいユーザーが追加されたタイミングでCloud Functionsの updateSlackUsers を実行する必要がある。これを日時で自動実行するようにしたい。

https://github.com/pannpers/quattro-luncher/blob/master/functions/src/index.ts#L132

Requirement / Definition of Done

Notes

Create Scheduled Function to automatically Create Lunch Date

Overview

現状ではマニュアルでFirestoreの lunches Collectionに次のランチデータを作成している。これを毎週自動データ生成するジョブを作成したい。

Requirement / Definition of Done

Notes

Add Link to Slack Thread where he/she is involved

Overview

  • BotがSlackに投稿した各PartyのThreadを探すのがめんどう
  • Home画面から、PartyをタップするとSlackのThreadを開くことができると便利なのでは?

Requirement / Definition of Done

  • Home画面から、PartyをタップするとSlackのThreadを開く<a>タグを追加する。

Notes

Restrict Access to App to Zeals Users

Background

現状だと知らん人でもSign-Inできてしまう

Requirement / Definition of Done

  • GoogleアカウントでSign-In可能なユーザーをDomain(@以下)がzeals.co.jp のみ許可

Notes

Add AnalyzeSmile function to manipulate Smile Score of uploaded photo

Background

Requirement / Definition of Done

  • Cloud Function にAnalyzeSmile 関数を追加する。
  • Cloud StorageへのファイルアップロードによりTriggerされる。
  • Cloud Vision APIへStorageから画像を渡し、ResponseのSmile ScoreをFirestoreへ格納する

Notes

Prevent Duplicated Requests When Uploading Photo

Overview

  • 現状だと、写真のアップロードボタンを押した際に、何のリアクションも無いため、アップロードしているのか、完了したのかがユーザーに分からない。

Requirement / Definition of Done

  • 重複リクエストを防ぐためにアップロードボタンが押されたら、ボタンをdisabledにする。
  • アップロード中はインディケーターを表示する。
  • アップロードが完了したらポップアップを表示させる。

Notes

Add Slack Notification to notify Smile Score Calculated

Overview

Cloud Vision APIのスマイルスコア計算が完了したらSlackに通知を送る。メッセージには画像のURLも含めて、画像表示されるようにする。

Requirement / Definition of Done

  • Firestoreのface-annotations CollectionにDocumentが新規追加されたことをTriggerとする。
  • メッセージ内にパーティーの平均スマイルスコアを含める。
  • メッセージ内にプレビュー可能な画像のURLを含める。

Notes

Create updateUsers method to fetch Slack users and store them to Firestore

Background

Requirement / Definition of Done

  • Slack APIを使って、ZealsのWorkspaceのユーザー情報を取得できる
  • 取得したユーザー情報をFirestoreの slack-users コレクションに保存する

Notes

新しいユーザーがSlackに登録、もしくは削除されたタイミングで、ジョブが実行されるようにスケジュールするのは別のIssueで

Add CSS Library to Entire Application

Overview

Look and Feelを向上させるためにCSSライブラリーを選定する。

Requirement / Definition of Done

  • できるだけ、ライブラリ依存が少ないものを選定する。

Notes

Add Admin Component to edit active Slack Users

Overview

Quattro Luncherの対象となるActiveなSlackユーザーを編集するadminコンポーネントを作成する。

Requirement / Definition of Done

  • Firebase AuthのCustomClaimでadmin: trueのユーザーのみ、adminコンポーネントへのリンクを表示する。
  • adminユーザーがActiveなSlackユーザーを選択できる

Notes

Adminロールを付与するための機能は #12 で実装

Enable Firebase Auth

Background

Requirement / Definition of Done

  • サインインしていない時は /sign-in にリダイレクトされる
  • /sign-in ページからGoogleアカウントでサインインできる。
  • [ ]

Notes

サインイン可能なGoogleアカウントのドメインをZeals限定にするのは他のIssueで

Use Tabelog API to recommend Lunch Restaurant

Overview

レコメンデーションの満足度を上げるために、食べログのAPIを使ってみる。ついでに他のAPIも比較検討してみる。

Requirement / Definition of Done

  • [ ]
  • [ ]
  • [ ]

Notes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.