{"id":20719117,"url":"https://github.com/ut42univ/emodialog-flask","last_synced_at":"2025-09-01T03:04:48.030Z","repository":{"id":249966964,"uuid":"785532671","full_name":"ut42univ/EmoDialog-Flask","owner":"ut42univ","description":"A Personalized Diary App with Generative AI （AI分析日記アプリ）","archived":false,"fork":false,"pushed_at":"2024-07-29T09:06:12.000Z","size":55556,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-11T07:49:02.303Z","etag":null,"topics":["app","chat","chatbot","diary","flask","openai","openai-api","python"],"latest_commit_sha":null,"homepage":"https://emodialog.live","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ut42univ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-12T04:29:55.000Z","updated_at":"2024-10-17T14:34:14.000Z","dependencies_parsed_at":"2025-01-03T08:35:03.779Z","dependency_job_id":null,"html_url":"https://github.com/ut42univ/EmoDialog-Flask","commit_stats":null,"previous_names":["ut42univ/emodialog"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ut42univ/EmoDialog-Flask","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42univ%2FEmoDialog-Flask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42univ%2FEmoDialog-Flask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42univ%2FEmoDialog-Flask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42univ%2FEmoDialog-Flask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ut42univ","download_url":"https://codeload.github.com/ut42univ/EmoDialog-Flask/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ut42univ%2FEmoDialog-Flask/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270005591,"owners_count":24510939,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","chat","chatbot","diary","flask","openai","openai-api","python"],"created_at":"2024-11-17T03:15:53.320Z","updated_at":"2025-08-12T05:15:41.456Z","avatar_url":"https://github.com/ut42univ.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\n\n\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\u003c!--\n*** Thanks for checking out the Best-README-Template. If you have a suggestion\n*** that would make this better, please fork the repo and create a pull request\n*** or simply open an issue with the tag \"enhancement\".\n*** Don't forget to give the project a star!\n*** Thanks again! Now go create something AMAZING! :D\n--\u003e\n\n\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** I'm using markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n*** See the bottom of this document for the declaration of the reference variables\n*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use.\n*** https://www.markdownguide.org/basic-syntax/#reference-style-links\n--\u003e\n\n[![MIT License][license-shield]][license-url]\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://emodialog.live\"\u003e\n    \u003cimg src=\"images/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eEmoDialog\u003c/h3\u003e\n  \u003ch4 align=\"center\"\u003eEmotionAI for the rest of us.\u003c/h4\u003e \n  \u003cbr /\u003e\n  \u003cp align=\"center\"\u003e\n    カウンセラーAI日記アプリケーション\n    \u003cbr /\u003e\n    A Personalized Diary App with Counselor AI\n  \u003c/p\u003e\n\u003c/div\u003e\n\n_\"EmoDialog\"の名前由来は，\"Emo\" は感情（emotion）を表し，\"Dialog\" は対話（dialogue）を表す言葉です．この名前は，感情を中心に据えた対話やコミュニケーションを促進するアプリケーションを示しています．感情と対話を融合させることで，ユーザーが自分の感情や思考をより深く理解し，整理する手助けをすることを意味しています．_\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## プロジェクトについて（About The Project）\n\n[![Product Name Screen Shot][product-screenshot]](https://emodialog.live)\n\nEmoDialogは，文章生成AIを用いた個人向け日記アプリケーションです．\nユーザーが日記を書くことで，AIが感情分析を行い，ユーザーに対して返答を行います．\n\n現在は以下の機能が実装されています:\n* ユーザー登録・ログイン\n* 日記の作成・編集・削除\n* AIによる日記の感情分析\n  * 日記から推測されるその日の感情を分析\n    * 例: happy, sad, angry, etc. （ポール・エクマンの6つの基本感情に準拠）\n  * 日記から推測されるその日のクオリティをスコア化（0%~100%）\n    * 良い1日ならば高いスコア，悪い1日ならば低いスコア\n* 感情分析結果の統計の閲覧\n  * ユーザーの感情推移のグラフ表示\n  * ユーザーの感情の分布の円グラフ表示\n* チャットボット機能（AIによる返答）\n\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n### 技術スタック（Built With）\n\n現段階で，EmoDialogは以下の技術スタックを使用して開発されています．\n\n [![Python][Python.org]][Python-url] [![Flask][Flask.palletsprojects]][Flask-url] [![OpenAI][openai.com]][openai-url] [![SQLite][sqllite]][sqllite-url] [![Vue][Vue.js]][Vue-url] [![Bootstrap][Bootstrap.com]][Bootstrap-url] \n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- GETTING STARTED --\u003e\n## はじめに（Getting Started）\n\nこのプロジェクトはFlaskベースであり，サーバーでの実行を前提としていますが，Pythonの環境があればローカルでの実行も可能です．\nただし，OpenAIのAPIを使用しているため，事前にAPIキーの取得が必要です．\n（※APIキーの取得にはOpenAI社へのクレジットカード情報の登録が必須です．）\n\nまたデモページも用意していますので，以下のリンクからアクセスしてみてください．\n**EmoDialog(https://emodialog.live)**\n_（注意: 本ページはデモ環境のため，データベースが定期的に初期化されます．）_\n\n以下のサンプルアカウントでログインすることで，予め記録された日記や感情分析を閲覧・編集することができます．\n`ユーザー名：guest`\n`パスワード：psp4_sample`\n\n### 導入（Installation）\n\n_ここではローカル環境でのプロジェクトの導入方法について説明します．_\n\n#### 1. OpenAI APIキーを取得し環境変数に設定する．参考 [OpenAI Platform](https://platform.openai.com)\n  ```sh\n  export OPENAI_API_KEY='YOUR_API_KEY'\n  ```\n#### 2. リポジトリをクローンする\n  ```sh\n  git clone https://github.com/ut42univ/EmoDialog.git\n  ```\n#### 3. 必要なパッケージをインストールする（仮想環境での実行を推奨）\n  ```sh\n  pip install -r requirements.txt\n  ```\n#### 4. 実行する\n  ```sh\n    cd app\n    python app.py\n  ```\n#### 5. ブラウザで以下のURLにアクセスする（デフォルトはポート5000）\n  ```sh\n  http://localhost:5000\n  ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n## 使用方法（Usage）\n\n#### ユーザー登録・ログイン\n  ```\n  * ユーザー名とパスワードを入力して登録\n  * 登録済みのユーザー名とパスワードでログイン\n  ```\n  ![signup](https://github.com/user-attachments/assets/9283bd3f-d2aa-40e0-ae4d-0b828d0cac31)![login](https://github.com/user-attachments/assets/c3435619-9870-4cf8-b768-c7ba204b2608)\n\n#### 日記を作成する\n  ```\n  * 日記のタイトルと内容を入力して作成\n  * 日記は1文字以上，500文字以下で作成可能\n  ```\n  ![create](https://github.com/user-attachments/assets/71748723-8d23-43b4-a240-e11c65d6ea43)\n\n#### 日記の詳細を閲覧・編集・削除する\n  ```\n  * 日記の\"See Detail\"をクリックすることで詳細を閲覧\n  * 日記の\"Edit\"をクリックすることで編集\n  * 日記の\"Delete\"をクリックすることで削除\n  ```\n  ![delete](https://github.com/user-attachments/assets/eb875a44-6272-4c53-baab-29715d91cf76)\n\n#### AIによる感情分析結果を閲覧する\n  ```\n  * ユーザーの感情推移のグラフ表示\n  * ユーザーの感情の分布の円グラフ表示\n  * matplotlibを使用してグラフを描画\n  ```\n  ![analysis](https://github.com/user-attachments/assets/27f6088c-da41-4041-931e-d1001c84e191)\n\n#### チャットボット機能（AIによる返答）\n  ```\n  * EmotionAIとの会話を行う\n  * \"会話を終了する\"で会話履歴を削除（復元できません）\n  ```\n  ![chat](https://github.com/user-attachments/assets/d8ddc404-0bd5-4306-b07f-bc7a19386d77)![chat_delete](https://github.com/user-attachments/assets/dfe7822d-bfe2-4413-8d71-0c55ec1e5678)\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n## ライセンス（License）\n\nこのプロジェクトはMITライセンスに準拠してOSSとして公開されています．詳細は `LICENSE` を参照してください．\nDistributed under the MIT License. See `LICENSE` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[contributors-shield]: https://img.shields.io/github/contributors/othneildrew/Best-README-Template.svg?style=for-the-badge\n[contributors-url]: https://github.com/othneildrew/Best-README-Template/graphs/contributors\n[forks-shield]: https://img.shields.io/github/forks/othneildrew/Best-README-Template.svg?style=for-the-badge\n[forks-url]: https://github.com/othneildrew/Best-README-Template/network/members\n[stars-shield]: https://img.shields.io/github/stars/othneildrew/Best-README-Template.svg?style=for-the-badge\n[stars-url]: https://github.com/othneildrew/Best-README-Template/stargazers\n[issues-shield]: https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=for-the-badge\n[issues-url]: https://github.com/othneildrew/Best-README-Template/issues\n[license-shield]: https://img.shields.io/github/license/othneildrew/Best-README-Template.svg?style=for-the-badge\n[license-url]: https://github.com/ut42univ/EmoDialog/blob/main/LICENSE\n[linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge\u0026logo=linkedin\u0026colorB=555\n[linkedin-url]: https://linkedin.com/in/othneildrew\n[product-screenshot]: images/screenshot.png\n[Next.js]: https://img.shields.io/badge/next.js-000000?style=for-the-badge\u0026logo=nextdotjs\u0026logoColor=white\n[Next-url]: https://nextjs.org/\n[React.js]: https://img.shields.io/badge/React-20232A?style=for-the-badge\u0026logo=react\u0026logoColor=61DAFB\n[React-url]: https://reactjs.org/\n[Vue.js]: https://img.shields.io/badge/Vue.js-35495E?style=for-the-badge\u0026logo=vuedotjs\u0026logoColor=4FC08D\n[Vue-url]: https://vuejs.org/\n[Angular.io]: https://img.shields.io/badge/Angular-DD0031?style=for-the-badge\u0026logo=angular\u0026logoColor=white\n[Angular-url]: https://angular.io/\n[Svelte.dev]: https://img.shields.io/badge/Svelte-4A4A55?style=for-the-badge\u0026logo=svelte\u0026logoColor=FF3E00\n[Svelte-url]: https://svelte.dev/\n[Laravel.com]: https://img.shields.io/badge/Laravel-FF2D20?style=for-the-badge\u0026logo=laravel\u0026logoColor=white\n[Laravel-url]: https://laravel.com\n[Bootstrap.com]: https://img.shields.io/badge/Bootstrap-563D7C?style=for-the-badge\u0026logo=bootstrap\u0026logoColor=white\n[Bootstrap-url]: https://getbootstrap.com\n[JQuery.com]: https://img.shields.io/badge/jQuery-0769AD?style=for-the-badge\u0026logo=jquery\u0026logoColor=white\n[JQuery-url]: https://jquery.com \n[Python.org]: https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white\n[Python-url]: https://www.python.org/\n[Flask.palletsprojects]: https://img.shields.io/badge/Flask-000000?style=for-the-badge\u0026logo=flask\u0026logoColor=white\n[Flask-url]: https://flask.palletsprojects.com/\n[sqllite]: https://img.shields.io/badge/SQLite-07405E?style=for-the-badge\u0026logo=sqlite\u0026logoColor=white\n[sqllite-url]: https://www.sqlite.org/index.html\n[openai.com]: https://img.shields.io/badge/OpenAI-F2F2F2?style=for-the-badge\u0026logo=openai\u0026logoColor=black\n[openai-url]: https://www.openai.com/\n[Heroku.com]: https://img.shields.io/badge/Heroku-430098?style=for-the-badge\u0026logo=heroku\u0026logoColor=white\n[Heroku-url]: https://www.heroku.com/\n[Google Cloud]: https://img.shields.io/badge/Google_Cloud-4285F4?style=for-the-badge\u0026logo=google-cloud\u0026logoColor=white\n[Google Cloud-url]: https://cloud.google.com/\n[matplotlib]: https://img.shields.io/badge/Matplotlib-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white\n[matplotlib-url]: https://matplotlib.org/\n[html]: https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white\n[css]: https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge\u0026logo=css3\u0026logoColor=white","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fut42univ%2Femodialog-flask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fut42univ%2Femodialog-flask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fut42univ%2Femodialog-flask/lists"}