challenge-every-month / cem-app Goto Github PK
View Code? Open in Web Editor NEWa SlackApp for Challenge Every Month community
a SlackApp for Challenge Every Month community
review時、未レビューのものがすべて対象になっている
4月の目標をpublishしたあとに、3月の目標をレビューをおこなった。
その際、4月の目標も未レビューと扱われてしまった。
その月に実施していく目標なのにレビューが実施されてしまい、
目標が登録されていない状態になる。
ユーザに対して、レビューをおこなってもらってから目標を登録してもらう。
レビュー対象を月ごとで選べている状態が理想に思われる。
/cem_newで入力した順番がpublish時に保証されない
/cem_newで入力した順番がpublish時に保証される
fireBaseに登録する際に、順序が概念がないため
順序を表現するフィールドを追加して、JSでソートする
要確認
GCBに移行しなくても単純にクレカ登録してあれば問題ない可能性が高い。
それとは別にGCBにしてもよいし、CircleCIかGitHubActionsに移行しても良いかもしれない。
どうやらGAE standardのデプロイはGoogle Cloud Buildでやらないといけなくなるらしい(要出典)のでそれの対応。
勘違いでした
そこでCircleCIを剥がすならLintも、GitHubにして
CircleCI脱却をしたほうがよいかもしれない
/cem_registerを実行した後にslackのユーザ名やアイコンを変更しても、
/cem_publish, /cem_reviewなどの発言が新しいユーザ名やアイコンにならない
現状、slackbotが該当ユーザのユーザ名とアイコンを使って発言している。
その更新が行われていないので、初回のときから変更されないと推測される。
/cem_registerを実行した後にユーザ名やアイコンを変更しても反映されない
(そこまで重大な問題でも無いけど……)
おそらく現状、 /cem_registerのときにユーザー名とアイコンを取得していると思われる。
対処は以下のいずれかと思われる
挑戦目標に関する必要な行動を促すためのリマインダを追加したい
現在デプロイされているのは個人管理のGAEなので、
それではない何か別のサーバーに乗せかえて運用する
合わせてDBも個人のFirestoreなのでそれもなんとかする
現在、@AquiTCDが個人で管理するGAEとFirestoreで運用されています。
別段特に問題はないのですが、サーバーを管理運用したい人、
別の何かでやってみたい人、個人に1つの無料枠ではなくもっと余裕のある何かに変えたい、
など、何かしらの理由で別のところに乗せかえる案
@AquiTCDの個人用GAE無料枠が空く
候補として
など
GAEのままなら、コミュニティとして1つGoogleアカウントをとって
そのアカウントでGAEを立てる
/cem_help
を実行した際のメッセージが、markdownに変換されていない。
markdown変換されたメッセージが表示されること。
/cem_help
を実行困らない。見た目だけの問題。
おそらく、Slackのmarkdown書式に沿っていないためと思われる。
cem-app/src/commands/cem_register.ts
Line 68 in 5f089bd
を参考にした感じ、
cem-app/src/commands/cem_help.ts
Line 8 in 5f089bd
は、*ルール*
のように、
アスタリスクを一つに変更すれば解決する。
調べる必要あり。
調査しきれてないので確実ではないですが、Nuxtを
のどちらかのアプローチでいけそうな気がしています。
#30 として #36 で対応したNuxtフロントエンドの組み込みが
実稼動させてみるとサーバーが落ちるようなので #37 で戻しました。
#30 の問題が解決されてキレイなフロントを作る下地が今度こそ整う
#29 の前段として
https://github.com/challenge-every-month/challenge-every-month
からGridsomeを移行してもってくる
NuxtがExpressをサーバーとして動作するようにする
Gridsomeの場合、表示を更新したい都度にビルドが必要になる
せっかくDBでデータを持ってるのに有効活用できない
既に表明された自分のプロジェクトと内包するチャレンジの結果をふりかえりを表明するスラッシュコマンドが必要
なお、コマンドは/cem_review
を予定
中間進捗報告もできるようになる
/cem_progress
などでダイアログを開く任意のはずのdescriptionを入力しないと次のエラーが出る
(Slackにはエラーが出ないので登録できなかったことがユーザーに伝わらない)
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'description' of undefined"
中間報告(/cem_progress)でのコメントを複数行にする。
1行だけしか表示されないので、リンクを張ったりすると表示上は読めなくなる。
中間報告のコメントを複数行にして表示、および更新できること。
exerciseの日数計算がおかしい
午前0時代の発言が正常に加算されないようす
前回実施時から日付さえ変わっていれば加算される
/cem_new
でいくつかプロジェクトとチャレンジを登録
/cem_publish
結果として、発表できるものがないとエラー。
どうようの操作で対象のチャンネルに登録内容が表示されること
上記参照
※ 予想では月跨ぎ時と日本時間(JST)との関連が推測される。したがって、試すのは1日9時前を意識したほうが良さそう
早々に表明したいのに時間を待たないといけない
おそらくだが、JST、UTCの差で内部的に月が変わってないのが問題。
/cem_publish
の対象を調査して期待どおりになるように修正
既に登録された自分のプロジェクトとチャンレンジの修正、変更をするスラッシュコマンドが必要
なお、コマンドは/cem_edit
を予定
せっかくFirestoreに格納してるのだから、
Nuxtからデータを取得してそのまま表示するWebサイトを作って統合する
活動状況をコミュニティ外にも公表できる
=> 新規に興味を持つ人増える?
単純に開発がチャレンジングで楽しい、技術もつく
(optional)がひとつだけ
https://github.com/challenge-every-month/cem-app/blob/master/src/commands/cem_new.ts#L158
text: `説明(optional)`
を以下のように修正する
text: `説明`
CEMたろうの使いかたがわかりにくいようなのでユーザーガイドを充実させる
特に/cem_new
で挑戦を複数登録するのがわかりにくい様子。
またみなさん無駄にリスト記法を使おうとして失敗しているのを見る。
実装で吸収もできなくないけどまずはドキュメントを拡充させる。
まちがいが減る。ユーザー体験の苦情
ちゃんと意見を聞いて説明文章を書く。
もしくは開発を担当してない人が文章を書く(客観的視点の獲得のため)
既に登録された自分のプロジェクトと内包するチャレンジの表明するスラッシュコマンドが必要
なお、コマンドは/cem_publish
を予定
まだ済んでないアクションに対して、人ごとに個別メンションをつけてリマインドする
/cem_remind 日
などでリマインドする日を追加現在CircleCIで回してる
をGitHubActionsに移行する
CircleCIは @AquiTCD 個人アカウントのものを使っているため
個人依存がなくなる
(おそらくはないが)無料プランなので、@AquiTCD がCircleCIの無料分を使いきるとデプロイされない
CircleCI用の .circleci/config.yml
を.github/workflows
配下のファイルにそれぞれ移行する
なお、デプロイ用の環境変数はCircleCI側に保持しているものもあるので、そちらの移行の際はお気軽に@AquiTCD までお尋ねください。
既に登録された自分のプロジェクトとチャレンジの削除をするスラッシュコマンドが必要
なお、コマンドは/cem_delete
を予定
現在リマインドなどのメッセージ文言が固定なのでこれをいくつかの文章からランダムに表示したい
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.