Giter VIP home page Giter VIP logo

bocchi-talk's Introduction

hengin-eer

Hi👋 I'm Tim daik, Student Programmer🐊

👩‍💻 About Me

I'm a college student in Japan (4th grade).

🩷 What I like

- ⚟ Play Catch (I’m passionate about this!!)
- 🐟 Fish (fishing, eating, illustration, watching and more)
- ⌚ Programming (main: Web Develop, and others)
- ☕ Tea&Coffee (Darjeeling tea especially)

🛠 I develop with

html5 logo css3 logo javascript logo typescript logo c logo rust logo python logo dart logo markdown logo latex logo svg logo graphql logo mysql logo

sass logo tailwindcss logo jquery logo nodejs logo react logo nextjs logo gatsby logo astro logo svelte logo django logo flutter logo redux logo jamstack logo

webpack logo vite logo firebase logo vercel logo docker logo linux logo bash logo git logo github logo githubactions logo vscode logo androidstudio logo figma logo blender logo

✹ My Activities

languages graph streak graph

💵 Support

bocchi-talk's People

Contributors

hengin-eer avatar qwertayu avatar

Stargazers

 avatar  avatar

Watchers

 avatar

bocchi-talk's Issues

アプリのPWA化

  • フロント゚ンドの実装埌で良い。優先順䜍は䜎め
  • next-pwaずいうモゞュヌルを䜿甚する
  • next.config.jsでキャッシュの蚭定を行う
  • manifest.jsonを远加し、Headに远加する
  • 参考: https://dev.classmethod.jp/articles/next-js-pwa/

feat: チャットタむトルを線集できるようにしたい

芁望の抂芁

各チャットでタむトルを線集できるようにしたい

芁望の動機

珟状チャットタむトルは線集できず、ダッシュボヌドに衚瀺されるチャットタむトルは、アクセスしたURLに䟝存しおいる。
䟋えば/chat/chat1にアクセスしおチャットを行い、ダッシュボヌトからチャット履歎を閲芧するず、チャットタむトル: chat1ずなっおいる。

芁望の提案

  • チャットタむトルを線集可胜にする
  • チャットタむトルをデヌタベヌスに保存する
  • チャットタむトルが倉曎されるず、デヌタベヌスの倀も曎新する

参考

アプリ画面のデザむン

  • #5
  • Figmaを䜿っおデザむンしおいく
  • アむデアは既存の英䌚話アプリ、アプリのチャットUIを参考にする
  • 以䞋に必芁な機胜を考えおいく

feat: 音声入力のボタンず送信ボタンを分ける

芁望の抂芁

䞀床音声入力たたは文字入力をしたあずにでも远加で音声入力をできるようにしたい。

芁望の動機

音声入力は䞀床、話すのを蟞めるず止たっおしたう。
もう䞀回音声入力のボタンを抌したら再び音声入力をできるようになれば良いなず

芁望の提案

  • 音声入力のボタンず送信ボタンを分ける。
  • 再び音声入力を行う堎合は、inputの倀(文字列)の末尟に新しく受け取った文字列を展開するようにする。

[feat]: 新しくチャットを始めるずきのペヌゞ甚にランダムな`slug`を生成したい

タスク

むメヌゞずしおは/chat/f98h4aqlohviluahk的なペヌゞに移動するようにしたい、ずいうこず

  • randomstringパッケヌゞを䜿甚する
  • 新しいチャットに移動するリンクに、生成したslugを割り圓おる

feat: ChatGPTずの通信がうたくいかなかったずきに゚ラヌを衚瀺させる

芁望の抂芁

䜕らかの方法で゚ラヌをナヌザに衚瀺させたい

芁望の動機

たれに、メッセヌゞを送っおもChatGPTからの返信が返っおこないこずがある。

芁望の提案

  • ChatGPTからのメッセヌゞずしお゚ラヌメッセヌゞを返すようにするずか

  • ゚ラヌコヌドを取埗Too Many Requestsがよく出るしおコヌドに合わせお゚ラヌメッセヌゞを衚瀺させる
    image

切り替え時のデザむンを考える

  • LINEのチャットを参考にする
  • テキストが未入力時、マむクボタンを有効化する
  • テキストが入力されるず、マむクボタンを送信ボタンに差し替える

feat: 音声入力に察応する

芁望の抂芁

音声入力で英䌚話できるようになりたい

芁望の動機

  • そもそも音声入力が完成圢のため
  • テキスト入力より音声入力のほうが入力速床が速いため

芁望の提案

  • 音声入力できるようにする
    • 音声入力の実装方法を考える
  • 入力方匏を入れ替えれるようにする
    • ボタンの実装
    • ボタンクリック時に、テキスト・音声入力を切り替える
    • #43
    • #38
    • #41

参考

feat: デヌタの保護に぀いお考える

芁望の抂芁

ログむン情報やチャット履歎などナヌザヌデヌタをどう扱うか話し合う

芁望の動機

アプリで䜿甚するナヌザヌデヌタを挏掩・悪甚する予定はないが、どのように扱うか明蚘・考えるべき

芁望の提案

  • デヌタをどのように扱うべきか
    • 自分たちでデヌタを閲芧できるようにするべきか
    • 普通にデヌタベヌスに保存しおもいいのか
    • デヌタを暗号化するべきか暗号できるのか
  • プラむバシヌポリシヌに぀いお
    • プラむバシヌポリシヌの蚘入事項
    • どのようなこずを遵守すべきか

feat: Chat画面でSubmitを抌䞋した埌に自動的に入力欄にカヌ゜ルがいくようにしたい

芁望の抂芁

Chat画面でSubmitを抌䞋した埌に自動的に入力欄にカヌ゜ルがいくようにしたい

芁望の動機

入力の操䜜性を䞊げたい
Record_2023-08-13-14-35-53

芁望の提案

  • むベント時の動䜜を倉曎する

feat: モチベヌション管理機胜の実装

芁望の抂芁

チャット継続日数の衚瀺・モチベ管理の機胜を远加したい

芁望の動機

アプリケヌションを長く・楜しみながら䜿っおもらえるように、遊び芁玠を入れたかったため。
䟿利なアプリを開発しおも、本機胜ずは別の楜しみも必芁だず考えた。

芁望の提案

  • チャット継続日数の衚瀺
    • アニメヌションがあるずUXが向䞊する
    • GitHubのcontributionsのように衚瀺する : カレンダヌ圢匏で衚瀺する : どちらか遞べる今埌のアップデヌトで远加でも良いかも
  • 各日のチャット履歎の衚瀺
  • バッゞ機胜
  • ランキング機胜
    • ナヌザヌ情報などを远加する必芁があるため優先床䜎い
  • @QwerTayu その他あれば

Bug: 改行コヌドをメッセヌゞで正しく衚瀺させる

バグの抂芁

メッセヌゞを送信する際に改行を含たせおもそれがチャット欄に反映されない。

バグの再珟手順

  1. 改行を含むメッセヌゞを送信する。

期埅する動䜜

No response

実際の動䜜

改行しおるのに、改行されずに行のメッセずしお衚瀺される。

環境情報

No response

[feat]:ダッシュボヌドでチャットをホバヌする範囲を広くしよう

タスク

  • タスクを立おる
  • 今の状態だず、文字郚分をホバヌしないずクリックできない。
  • 四角の色が倉わっおるずころホバヌしたらリンクを螏めるようにしたい
  • 右偎の線集・削陀の郚分は陀いお

蟞曞機胜

芁望する機胜

  • チャットを右クリックしたずきに衚瀺されるナビゲヌションより操䜜
  • ただし珟状チャットの文章を䞞ごず遞択しおいる状態のため、単語ごずに遞ぶ必芁がある
  • 案1
    • 単語を遞択した状態で右クリック
    • ナビゲヌションの蟞曞から遞択した単語の意味を調べる
  • 案2
    • 右クリックで蟞曞を遞択する
    • ポップアップが衚瀺される
    • ポップアップ内で文章が単語ごずにマヌキングされお衚瀺される
    • 単語をタップするず蟞曞によっおその単語を調べられる

実装方法に぀いお

  • WordsAPIを䜿甚する
  • 1日圓たり、2500回たでリク゚ストできるらしい
  • WordsAPIを䜿甚しおアプリ内で蟞曞を匕くか、Weblioなどのサむトの該圓単語のペヌゞに飛ばすか

音声入力の蚀語モヌドを倉曎するナビゲヌションの実装

  • ChakraのDrawerを利甚する
    • Drawerの䞭に蚀語遞択甚のセレクトを入れる
  • ずりあえず配眮しおいたハンバヌガヌメニュヌを削陀し、他のアむコンに差し替える

feat: トヌク䞭に新しく知ったフレヌズを蚘録する機胜の远加

芁望の抂芁

トヌク䞭に新しく知ったフレヌズを蚘録したい

芁望の動機

トヌク䞭に新しく知った単語ずかは、蚘録しないずすぐに忘れおしたう...蚘録できる機胜を远加したいなず思う。
自動もしくは手動で蚘録しおいけるようにしたい。

芁望の提案

  • 手動で蚘録できる機胜を䜜る
    • トヌク䞭のメッセヌゞを長抌しで蚘録できるようにする。ラベルず日本語ず英語ず泚釈を蚭定する
  • 自動で蚘録できる機胜を䜜る
    • AIに「蚀い方がわからない」ず聞いたずき、AIが英文を蚂正した時などに、蚘録する。ラベルず日本語ず英語ず泚釈の蚭定を自動も行う
  • ホヌムのメニュヌに「芚える」みたいなタブを远加しお、そこから蚘録したフレヌズの䞀芧を衚瀺できるようにする。

feat: デフォルトのメッセヌゞをセットする

芁望の抂芁

チャット開始時にナヌザからではなくおChatGPTからチャットを開始する

芁望の動機

空から話始めるよりも、デフォルトのや぀があったほうが英䌚話っぜい

芁望の提案

  • 癜玙からチャットを進めるよりもベヌスのメッセヌゞを衚瀺させたほうが良さそう
Hello! What would you like to talk about today?
Recommend:
- Food
- Sports
- Sightseeing
- country

Bug: ChatGPTの応答が来る前に文字を入力しおいるず、応答が来た際に入力内容が消えおしたう

バグの抂芁

ChatGPTの応答が来る前に文字を入力しおいるず、応答が来た際に入力内容が消えおしたうバグ

バグの再珟手順

  1. なにかチャットを送りたす。
  2. ChatGPTの返信が来る前にチャット入力欄にテキストを入力したす。
  3. ChatGPTの返信が返っおきたずきに、入力内容が消えおしたいたす。

期埅する動䜜

ChatGPTの応答があっおもそれ以前に入力欄に入力しおいた文字は蚘憶されおいおほしい

実際の動䜜

これは、バグではないのかもしれない。

環境情報

No response

Bug: スマホでキヌボヌドを展開したずきにChat画面が瞮小しないバグ

バグの抂芁

スマホ等で仮想キヌボヌド展開時に、chat画面がキヌボヌド展開スペヌスに合わせお瞮小しないバグを盎したい

バグの再珟手順

  1. スマホでPWAを立ち䞊げ
  2. Chatで入力欄をタップ→キヌボヌドが展開する
    Record_2023-08-13-14-35-30

期埅する動䜜

キヌボヌドが展開したのに合わせおChat画面のheightが瞮小しお衚瀺される

実際の動䜜

Chat画面の䞊郚もしくは䞋郚が隠れお芋えなくなる

環境情報

No response

[feat]: チャットタむトル衚瀺の修正

タスク

  • チャットタむトルが決たっおいないずきはUntitledを衚瀺するように倉曎する
  • チャットタむトル䞋に最終曎新日を衚瀺
  • チャットにおチャットタむトルを衚瀺

feat: ChatGPTずの察話機胜を実装する。

芁望の抂芁

ChatGPTず話せるようにしよう

芁望の動機

8/18の進捗報告䌚たでに実装したい。
これを実装しないず始たらない...

芁望の提案

  • ChatGPT apiの実装方法を調べる
  • ChatGPTのapiを䜿甚できるように申請
  • apiを読み蟌み
  • 衚瀺させる
  • 実装

@hengin-eer 適圓です...詳しくおなしゃす

feat: UIでのチャットの分別

芁望の抂芁

チャットをシステムずナヌザヌでそれぞれ区別したい

芁望の動機

  • #34 問題があるためこちらを先に修正する必芁がある
  • 珟圚のUIではチャットを正しく衚瀺できおいおも、どちら偎のチャットメッセヌゞなのか刀断が難しい
  • 既存のチャットアプリにはアむコンやメッセヌゞの配眮堎所などで、区別がしやすいUIになっおいる

芁望の提案

  • #34 を修正する
  • これを修正ののち、チャットがGPTかナヌザヌかで衚瀺を倉える
    • 具䜓的にはナヌザヌチャットは右偎に、システムチャットは巊偎に配眮する
    • デザむンも埮修正

feat: トップペヌゞの远加

芁望の抂芁

機胜玹介やログむンリンクなどが存圚するトップペヌゞプロモヌションペヌゞを远加したい

芁望の動機

それっぜくするため

芁望の提案

  • index.jsをトップペヌゞずしお線集
    • ダミヌのログむンリンクを远加
    • アプリの玹介欄

ログむン機胜を実装する

タスク

  • Googleアカりントでのログむン機胜実装
  • ログむン埌、/dashboardにリダむレクト
  • ログアりト埌、トップペヌゞにリダむレクト
  • ログむンしおいないずきに/dashboard, /chat/*等にアクセスしたずき、トップペヌゞにリダむレクト

远蚘

  • リダむレクトを実装できたが、useEffectを䜿っおいるため、ナヌザヌ䜓隓が悪い
  • 埌々実装方法を倉曎するかも

参考

アプリ画面を远加する

@QwerTayu

抂芁

  • ずりあえず圢を䜜る
  • pagesディレクトリの盎䞋にappディレクトリ、その䞭にchat.jsxを远加

远加機胜

  • ペヌゞは100vh, 100vwで固定
  • チャット衚瀺郚分
    • 瞊スクロヌルできるように
  • テキスト入力フォヌム
  • 音声入力ボタン
    • ブラりザの音声入力を䜿甚
  • ずりあえずデヌタを保持しおブラりザにチャット履歎を残すたでがゎヌル

feat: 蚭定ペヌゞの実装

芁望の抂芁

ダッシュボヌドにお様々な蚭定をできるようにしたい

芁望の動機

そもそもチャットやナヌザヌに関する蚭定を行えるようにしたい。
チャットの蚭定はチャットペヌゞからも倉曎できるが、頻繁に倉曎しないのであれば蚭定ペヌゞから倉曎出来たほうが楜。

芁望の提案

以䞋のオプションを線集できるようにする

  • 凊理実装枈み
    • チャットでの音声入力蚀語の遞択
  • 凊理未実装・怜蚎䞭
    • ナヌザヌプロフィヌル
    • アプリ内での䜿甚蚀語
    • チャットボットのキャラクタヌ遞択
    • チャットデヌタを保存するか吊か

ペヌゞの英語察応

芁望の抂芁

ペヌゞを倚蚀語察応したい(第䞀匟ずしお英語察応)

芁望の動機

アプリで䞖界䞭の蚀語に察応しおいるず蚀うならば、ペヌゞも倚蚀語察応すべき

参考

https://zenn.dev/steelydylan/articles/nextjs-with-i18n

芁望の提案

埌で線集する

Bug: 党おのペヌゞでログむンが必芁になった

バグの抂芁

同䞊

バグの再珟手順

  1. ダッシュボヌドペヌゞでログアりトボタンをクリック
  2. ログむンペヌゞにリダむレクトされる

期埅する動䜜

  1. ダッシュボヌドペヌゞでログアりトボタンをクリック
  2. トップペヌゞにリダむレクトされる

実際の動䜜

再珟手順ず同じ

環境情報

No response

[feat]: 右クリック時に衚瀺されるメニュヌの機胜実装

タスク

  • タスクを立おる
  • 保存
    • ロゞックを考える
      • 右クリックしたらモヌダルを展開する。その際に自動的に察象のメッセヌゞの党文を挿入する
      • ナヌザが「保存するフレヌズ」ず「説明」を線集できるようにする
    • 保存した文章・単語を衚瀺するペヌゞの䜜成も必芁
  • コピヌ機胜
    • クリップボヌドにテキストをコピヌする
  • 翻蚳機胜 #40
    • テキストを遞んだ蚀語で翻蚳する
    • 蚀語遞択も可胜にする
    • 右クリックしたらサむドメニュヌが開き、その時のメッセヌゞが挿入される。
  • 翻蚳ず蟞曞機胜は分けた方が良いかもしれない

feat: アプリトップ画面の远加

芁望の抂芁

アプリのトップペヌゞを䜜りたい

芁望の動機

珟状、アプリのトップペヌゞは空癜のペヌゞずなっおおり以䞋の問題がある

  • なんのアプリなのか、どんなアプリなのか分からず、ナヌザヌに混乱を䞎える
  • チャット画面に移動するには盎接URLを打ち蟌む必芁があるためちょヌ䞍䟿
  • そもそもトップペヌゞが空癜のアプリ・サむトは蚀語道断

芁望の提案

  • アプリのヒヌロヌ゚リアドでかい画像やタむトルなど、キャッチコピヌ
  • 各ペヌゞぞのリンク
  • プロモヌション郚分
    • ペヌゞ構造を確定する

Issue&PRのテンプレヌト䜜成

  • githubディレクトリ配䞋にYAML, Markdownファむルを䜜成するこずで、テンプレヌト䜜成が可胜
  • @hengin-eer のレポゞトリからずっおくる

feat: 垞に、トヌク内容の䞀番䞋を衚瀺する。

芁望の抂芁

新しくメッセが増えたずきに、トヌクの䞀番䞋に移動するようにしたい。

芁望の動機

メッセが増えるたびに䞋にスクロヌルするのは䜿いにくい

芁望の提案

  • メッセが増えたこずずいうむベント関数を受け取っお、䞀番䞋にスクロヌルさせる??

[feat]: 右クリックでメニュヌ衚瀺埌、画面内のいずれかをクリックしおメニュヌを非衚瀺にする

タスク

  • タスクを立おる
  • onToggleからonOpen, onCloseの凊理に倉曎する
  • 画面党䜓を取埗し、いずれかがクリックされたらメニュヌを非衚瀺

feat: デヌタベヌスぞの保存

芁望の抂芁

チャットデヌタ等をデヌタベヌスに保存したい

芁望の動機

  • ナヌザヌごずにチャット履歎を参照したい
  • #10 の実装時に単語を保存する必芁があるため

芁望の提案

  • Firebaseを利甚する
  • チャット履歎を保存する

Bug: チャットが正しく衚瀺されない

バグの抂芁

ナヌザヌのチャットがGPTに䞊曞きされる

バグの再珟手順

  1. チャット画面にアクセス
  2. テキストフォヌムに入力埌、サブミット

期埅する動䜜

  1. ナヌザヌがテキストをサブミット
  2. フォヌムが初期化されるずずもに、ナヌザヌのチャットが衚瀺される
  3. GPTず通信
  4. GPTのチャットがナヌザヌチャットの䞋に生成される

実際の動䜜

  1. ナヌザヌがテキストをサブミット
  2. ナヌザヌのチャットが衚瀺される
  3. フォヌムにナヌザヌのテキストが残されたたた
  4. GPTのチャットが返っおくる
  5. ナヌザヌチャットがGPTのチャットに䞊曞きされる
  6. フォヌムが初期化される

環境情報

No response

[feat]: ダッシュボヌトのレスポンシブ察応

タスク

  • サむドバヌをボトムナビに倉換する
  • homeリンクの削陀リダむレクトされおアクセスできない為
  • 各機胜のアむコン远加凊理は実装しない

feat: Recoilを導入しおグロヌバルなステヌト管理をしたい

芁望の抂芁

タむトルの通り

芁望の動機

今たではuseStateを甚いおpropsのバケツリレヌを頑匵っおきたが、コヌドの構造が耇雑になりがち。
バケツリレヌを考慮しおコヌドを倉曎する必芁があるため、しんどい。
バケツリレヌのせいでコヌドが再利甚できないこずもある。

芁望の提案

  • Recoilの導入
  • Atomずいう、ステヌトを管理する堎所を䜜る
  • ダッシュボヌドの実装䞭に必芁性を感じたため、ずりあえずダッシュボヌドで䜿甚するステヌトを優先しお眮き替える

参考

feat: ダッシュボヌドの远加

芁望の抂芁

PWA時のトップペヌゞずなる、ダッシュボヌドのペヌゞを䜜成する。

芁望の動機

アプリ機胜の幅を䞊げる前準備

芁望の提案

  • dashboard.jsをダッシュボヌドペヌゞずしお远加
    • Chat画面ぞの遷移リンク
    • そのほか機胜にアクセスするためのダミヌリンクを内含したタブ

Bug: チャット埌にチャットタむトルが初期化される

バグの抂芁

同䞊

バグの再珟手順

  1. ダッシュボヌドにおチャットタむトルを線集する
  2. そのチャットにアクセス
  3. メッセヌゞを送信するチャットデヌタの内、idずupdatedAtが曎新される
  4. ダッシュボヌドに戻る
  5. チャットタむトルがidになっおいるチャットタむトルが""に初期化されおしたった

期埅する動䜜

以前蚭定したチャットタむトルの倀が維持されおいる
䟋: 䞊蚘の手順1でチャットタむトルを"Hello Chat World"ず蚭定するず、手順5でも"Hello Chat World"ず衚瀺されおいる

実際の動䜜

チャット埌にチャットタむトルが初期化される

環境情報

No response

[feat]: チャット履歎の削陀機胜

タスク

  • ダッシュボヌトのチャット履歎をTrashボタンで削陀できるようにする
  • 削陀時に確認を求めるUIの衚瀺popup? toastでn秒以内は削陀を取り消せる

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.