quattro-luncher's Introduction
quattro-luncher's People
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
-
SlackUser
にcanLeader
属性を追加する。(デフォルト値はtrue
) - パーティー編成の際に
canLeader
がtrue
のメンバーのみがリーダーに選ばれるようにする。 -
/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
Fetch All Users from Firestore
Add Slack Notification to notify New Parties Generated
Overview
ランチパーティーが決定したら、Slackにメンションありで通知する。
Requirement / Definition of Done
- Firestoreの
parties
Collectionが作成されたことでTriggerされるFunctionを作成する。notifyNewParties
- メッセージは各パーティーごとに送信する。
- メッセージ内にはパーティーメンバー全員にメンションを入れる。
Notes
Implement getLatestLunch method in FirestoreService
Background
Requirement / Definition of Done
- 最新の
Lunch
を取得するgetLatestLunch
メソッドを実装する。
Notes
Add Instagram Photo to a Message Text in New Party Notification
Overview
Requirement / Definition of Done
- 新パーティーの通知メッセージ内にInstagramの写真リンクを入れ込む。
- リンクはハッシュタグ
#gotandalunch
で検索した人気のメディア - その他隠し要素も入れる
Notes
Add UpdateUserClaims function to Update User's Admin Role
Overview
指定したユーザーのCusomClaimsを更新するためのFunctionを追加する。
Requirement / Definition of Done
- HTTPリクエストでユーザーのCustomClaimsを更新できること。
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
- Schedule Functionsを使って、
updateSlackUsers
を毎日AM8時に実行されるJobを作成する。
https://firebase.google.com/docs/functions/schedule-functions
Notes
Change Sender Account to Quattro Luncher Bot When Posting Photo's Smile Score
Overview
現状だと、スマイルスコアと写真を投稿する際に、@pandy
アカウントで投稿されるようになっている。
Requirement / Definition of Done
- 写真をPostする際のアカウントをQuattro LuncherのBotに切り替える
Notes
Create Scheduled Function to automatically Create Lunch Date
Overview
現状ではマニュアルでFirestoreの lunches
Collectionに次のランチデータを作成している。これを毎週自動データ生成するジョブを作成したい。
Requirement / Definition of Done
- Schedule Functionsを使って、毎週1度実行されるJobを作成する。
https://firebase.google.com/docs/functions/schedule-functions - 実行スケジュールを毎週金曜の0時にセットする。(次週のデータを作成する)
Notes
Add Link to Slack Thread where he/she is involved
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
- https://firebase.google.com/docs/functions/gcp-storage-events
- https://cloud.google.com/vision/docs/detecting-faces?apix_params=%7B%22resource%22%3A%7B%22requests%22%3A%5B%7B%22features%22%3A%5B%7B%22maxResults%22%3A10%2C%22type%22%3A%22FACE_DETECTION%22%7D%5D%2C%22image%22%3A%7B%22source%22%3A%7B%22imageUri%22%3A%22gs%3A%2F%2Fcloud-samples-data%2Fvision%2Fface%2Ffaces.jpeg%22%7D%7D%7D%5D%7D%7D#vision_face_detection-nodejs
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.