Skip to content

KinuGra/docker-flask-todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

次世代のToDoリストアプリ

概要

このアプリは、タスク管理を効率的に行うための次世代のToDoリストアプリです。

  • 音声認識
    • 音声入力で手軽にタスクを追加できます。
  • AIアドバイス
    • Gemini APIを使用してタスクの優先順位や効率的なこなし方をアドバイスします。
  • Gmail認証
    • Gmailによる認証が可能です。
  • Gmail連携
    • Gmailによる認証を行い、タスクに関するリマインダーをGmailで送信できます。
  • タスク管理
    • タスクの追加、編集、削除、完了状態の切り替えができます。
  • ソート機能
    • タスクを期限や作成日でソートできます。

技術スタック

Dockerで環境構築を行い、バックエンドにFlaskを使用しています。
また、データベースはPostgreSQLを採用し、APIとの連携も行っています。
さらに、SpeechRecognitionによる音声入力を実現しました。

  • Docker
  • Python & Flask
  • PostgreSQL
  • Gemini API
  • Gmail API
  • SpeechRecognition
  • SQLAlchemy
  • Flask-Migrate
  • JavaScript

機能

タスク追加

音声認識

音声認識ボタンを押して追加したいタスク名を言うだけで自動でタスクが追加されます。

1週間以内ボタン

期限が1週間以内のタスクのみ表示されます。 ※期限が過ぎているタスクは表示されません。

AIアドバイス

AIアドバイスボタンを押すことで、登録されているタスクの情報をGeminiに入力して、優先度の高いタスクを教えてくれます。

メールでリマインド

タスクの詳細

タスクをクリックすることでタスクの詳細画面に遷移します。

タスクの編集

並べ替え機能、完了マーク

作成日順、期限日(昇順・降順)でタスクを並べ替えることができます。
また、完了マークにチェックを入れることでタスク名が薄く表示されます。

環境構築

  1. リポジトリをクローンします。

リポジトリをクローンしたら、リポジトリ名にcdしてください。

git clone [URL]
cd docker-flask-todo
  1. 環境変数を設定します。./.envファイルを作成し、以下の内容を記述します。

    ※Gemini APIキーは各自で取得してください。
    https://aistudio.google.com/apikey

API_PORT=3000
DB_PORT=5432

POSTGRES_USER=your_postgres_user
POSTGRES_PASSWORD=your_postgres_password
POSTGRES_DB=your_postgres_db
POSTGRES_HOST=db
POSTGRES_PORT=5432
YOUR_API_KEY=your_gemini_api_key
  1. OAuth 2.0 クライアントIDを取得する際にcredentials.jsonファイルをDLし、./app/credentials.jsonファイルを追加します。

    まず以下のURLにアクセスして、以下の順番で進めてください。
    https://console.cloud.google.com/
    APIとサービス > プロジェクトの作成 > プロジェクト構成を入力し、作成 > OAUTHクライアントを作成 > ウェブアプリケーションを選択 > 承認済みのリダイレクトにhttp://localhost:3000/google_callbackを追加し、作成 > クライアントに移動するので、OAuth 2.0 クライアントIDのDLアイコンをクリック > JSONをダウンロード > ファイル名をcredentials.jsonに変更し、./app/credentials.jsonに追加
    ※この際にGmailを検索し、有効化しておいてください。
    ※必要な場合はこのページの対象からテストユーザーを追加します。

  2. Dockerコンテナをビルドして起動します。

docker-compose up --build
  1. ブラウザでhttp://localhost:3000にアクセスします。

  2. テストユーザーの追加

    Google認証をする際にアクセスをブロックされた場合、「対象」からテストユーザーを追加する欄で認証するメアドを追加します。
    ※テストメールの送信に失敗する場合はGmail APIが有効化されていない可能性があります。
    その場合は検索欄からgmailと検索し、Gmail APIを有効にしてください。

  3. コードを編集したらCtrl+Cでstopして以下のコマンドを入力してください。

docker compose up --build -d
docker compose up

エラーの対処法メモ

  1. Docker Desktopを起動
  2. とりあえずビルドしてみる docker-compose build --no-cache
  3. Ctrl+Cでstopして再度docker compose up --build -d & docker compose up
  4. ポート番号が3000であることに注意
  5. .envファイルに追記する場合はcompose.ymlにも追記
  6. compose upした後に別のターミナルでdocker exec -it docker-flask-todo-web-1 sh
    • #が表示されるのでflask db upgradeを入力
      もしフォルダの名前がpy-todoならdocker exec -it py-todo-web-1 shのようにコマンドを変更
      compose upした際に名前が表示されるのでそちらを確認

  1. ./.envファイルと./app/credentials.jsonファイルを作成したかどうか確認
  2. とりあえずAIにエラーメッセージを投げてみる

(トップへ)

About

Gemini & Gmail API & 音声認識機能のある次世代のToDoアプリ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •