{"id":15448253,"url":"https://github.com/fumtas1k/issues_app","last_synced_at":"2026-02-09T09:34:54.715Z","repository":{"id":37823205,"uuid":"475675845","full_name":"fumtas1k/issues_app","owner":"fumtas1k","description":"問題意識・問題解決の習慣化と情報共有を補助するツール（新人教育用）","archived":false,"fork":false,"pushed_at":"2023-03-05T06:38:50.000Z","size":24926,"stargazers_count":0,"open_issues_count":11,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-23T06:05:53.770Z","etag":null,"topics":["docker","docker-compose","rails","ruby","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fumtas1k.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-03-30T01:26:11.000Z","updated_at":"2023-01-31T19:41:54.000Z","dependencies_parsed_at":"2025-02-02T09:36:17.057Z","dependency_job_id":null,"html_url":"https://github.com/fumtas1k/issues_app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fumtas1k/issues_app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumtas1k%2Fissues_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumtas1k%2Fissues_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumtas1k%2Fissues_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumtas1k%2Fissues_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fumtas1k","download_url":"https://codeload.github.com/fumtas1k/issues_app/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fumtas1k%2Fissues_app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29260784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["docker","docker-compose","rails","ruby","vuejs"],"created_at":"2024-10-01T20:22:57.037Z","updated_at":"2026-02-09T09:34:54.694Z","avatar_url":"https://github.com/fumtas1k.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"![rails v6.0.3](https://img.shields.io/badge/rails-v6.0.3-blue)\n\n# 意習(issue)\n\n公開URL:\n\n![アプリイメージ](RDD/app_image.JPG)\n\n## 新着\n\n- action cableを用いたリアルタイムチャット機能（ドラフト版）追加しました: 2022/05/19\n![チャットイメージ](app/assets/images/chat_image.gif)\n\n## 意習(issue)とは\n\n仕事をする上で、問題解決能力は重要ですが、それを日々の業務だけで身につけることは難しい。社会人1年目（薬剤師）の問題\u003cstrong\u003e意\u003c/strong\u003e識・問題解決の\u003cstrong\u003e習\u003c/strong\u003e慣化と情報共有を補助するツールとしてこのアプリを作りました。 日頃の業務の中で遭遇するイシューをアウトプットし、新人同士で情報共有することで問題意識と解決能力を養います。日誌、日報とせず、イシューとすることで、問題意識を持たせることができると考えました。 ユーザーは、薬剤師のメンターと新人薬剤師を想定しています。 イシューを投稿し、コメントすることができます。また、解決・未解決の分類があり、メンターは未解決のイシューをフォローしたり、解決の方法に問題ないかチェックできます。\n\n## 開発環境（言語）\n\n- ruby 3.0.1\n- rails 6.0.3\n- jQuery 3.5.1\n- Vue.js 2.6.14\n- Bootstrap 4.5.0\n- popper.js 1.16.0\n- postgreSQL 14.2\n\n## インフラ\n\n- AWS S3\n- SendGrid\n- docker\n\n## 技術\n\n### ruby gem\n\n- actioncable\n- actiontext\n- activerecord-import\n- acts-as-taggable-on\n- aws-sdk-s3\n- bullet\n- cancancan\n- devise\n- kaminari\n- rails_admin\n- ransack\n- redis (\u003e= 3, 5 \u003c)\n- rspec-rails\n- sendgrid-ruby\n- whenever\n\n### javascript\n\n- Vue.js(タグの入力フォームのみ)\n  - Vue-multiselect\n- jQuery\n  - jscroll\n\n### その他\n\n- wheneverを用いて以下を毎日定期実行\n  + attachされておらず作成びが1日以上前のファイルの削除\n  + 28日以上経過した通知の削除\n\n- github actionsを用いたCI\n  + プルリクエストをする時、github actionsでRSpecが実行され、パスしないとmasterブランチにマージできない\n\n## 主な機能\n\n- ユーザー機能\n  * ユーザー作成/編集\n  * ユーザーデータのcsvインポート\n  * ユーザーログイン / ログアウト\n  * 管理者\n\n- イシュー投稿機能\n  * 作成/編集/削除\n  * リッチテキストでの投稿\n  * 公開範囲設定\n  * 動的タグ付\n\n- 検索・ソート機能\n  * ユーザーの検索、ソート\n  * イシューの検索、ソート\n\n- コメント投稿機能\n  * 作成/編集/削除\n  * リッチテキストでの投稿\n\n- いいね、ストック機能\n  * 作成/削除\n\n- チャット機能（ドラフト版）\n  * リアルタイムチャット機能\n\n## docker構成\n\n| サーバー名 | 用途 |\n|---|---|\n| **db** | データベース用 |\n| **web** | アプリケーション用 |\n| **webpacker** | webpackのコンパイル用 |\n| **minio** | ストレージ（S3互換）用 |\n| **mc** | minioの初期設定用 |\n| **redis** | アクションケーブル(チャット)のサブスクリプションアダプタ用 |\n\n## AWS CDK\n\nCDKのGitHubリンク: https://github.com/fumtas1k/issues_app_cdk\n\n## 実行手順\n\nこのアプリは、最初にアカウント登録したユーザーに管理者権限が付与されます。\n\n以下は全てターミナルでの操作になります(macでの操作)。\n\n**1. hostsの追加**\n\nまず、S3の代わりにdockerでminioを使用するため、minioのIPアドレスを読み替える必要があります。\nwebサーバーからは `http://minio:9000` でminioサーバーにアクセスしますが、ブラウザからは `http://localhost:9000` でアクセスするため、そのままでは保存した画像が表示できなかったり直接のアップロードができなかったりします。\n\n```plain text\n$ sudo vi /etc/hosts\n```\nパスワード入力が必要になります。\nパソコンログイン時のパスワードを入力して下さい。\n\nファイルの中身が表示されたら、`i` キーを押して、編集できるようにします。\n最終行の下に以下を追加。\n\n```plain text\n127.0.0.1 minio\n```\n`esc` キーを押して編集を終了し、`:wq`と入力し、エンターキーを押すと保存されます。これで、下準備完了です。\n\n**2. 環境構築**\n\nまず、githubからデータをクローンし、ディレクトリを移動し`.env`ファイルを作成します。\n\n```plain text\n$ git clone https://github.com/fumtas1k/issues_app.git\n$ cd issues_app\n$ touch .env\n```\n\n`.env`ファイルに、以下をコピーしイコールの右側を埋めて環境変数を設定します。`SENDGRID_API_KEY`はSEND GRIDに登録し、API KEYを入手して下さい。EMAILはご自分のメールアドレスを入力して下さい。パスワード再設定のみに必要なため設定しなくても問題はありません。\n\n```plain text\nSENDGRID_API_KEY =\nSENDGRID_API_HOST = https://api.sendgrid.com\nEMAIL =\n```\n\n`.env` ファイルの設定が終わったらコンテナを作成、起動するため以下を実行。\n\n```plain text\n$ docker-compose up -d\n```\n\n全てが立ち上がったら使用可能となります。\n`http:127.0.0.1:3000` にアクセスして下さい(最初に立ち上げた時は、データベースの初期化等で時間がかかります)。\n\n**3. ダミーデータ**\n\nダミーデータが欲しい場合は、ターミナルで以下を実行\n\n```plain text\n$ docker-compose run web rails db:seed\n```\n\n**4. サーバー内での作業**\n\ndockerのwebサーバー内で作業したい場合は、ターミナルで以下を実行(他のサーバーに入りたい場合はwebの部分をdb, minio等に変更)。\n\n```plain text\n$ docker-compose exec web bush\n```\n**5. 停止したい場合**\n\n```plain text\n$ docker-compose stop\n```\n\n## 削除手順\n\n一括削除するには、以下のコマンドをターミナルで実行。\nコンテナ、イメージ、ボリューム、ネットワークが削除されます。\n\n```plain text\n$ docker-compose down --rmi all --volumes --remove-orphans\n```\n\n\n## カタログ設計\n\nhttps://docs.google.com/spreadsheets/d/1TkFKai1BwqkoukUsm8eNM-FI5RmXw8tFM69eKMoSiRY/edit#gid=782464957\n\n## テーブル定義書\n\nhttps://docs.google.com/spreadsheets/d/1TkFKai1BwqkoukUsm8eNM-FI5RmXw8tFM69eKMoSiRY/edit#gid=2020033787\n\n## ワイヤーフレーム\n\nhttps://cacoo.com/diagrams/m03GB5prFCD9g9ma/CA3E3\n\n![ワイヤーフレーム](RDD/wireframe.png)\n\n## ER図\n\n![ER図](RDD/ER.png)\n\n## 画面遷移図\n\n![画面遷移図](RDD/ui_flow.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffumtas1k%2Fissues_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffumtas1k%2Fissues_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffumtas1k%2Fissues_app/lists"}