https://github.com/fumtas1k/issues_app
問題意識・問題解決の習慣化と情報共有を補助するツール(新人教育用)
https://github.com/fumtas1k/issues_app
docker docker-compose rails ruby vuejs
Last synced: 5 months ago
JSON representation
問題意識・問題解決の習慣化と情報共有を補助するツール(新人教育用)
- Host: GitHub
- URL: https://github.com/fumtas1k/issues_app
- Owner: fumtas1k
- Created: 2022-03-30T01:26:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-03-05T06:38:50.000Z (over 3 years ago)
- Last Synced: 2025-08-23T06:05:53.770Z (11 months ago)
- Topics: docker, docker-compose, rails, ruby, vuejs
- Language: Ruby
- Homepage:
- Size: 23.8 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README

# 意習(issue)
公開URL:

## 新着
- action cableを用いたリアルタイムチャット機能(ドラフト版)追加しました: 2022/05/19

## 意習(issue)とは
仕事をする上で、問題解決能力は重要ですが、それを日々の業務だけで身につけることは難しい。社会人1年目(薬剤師)の問題意識・問題解決の習慣化と情報共有を補助するツールとしてこのアプリを作りました。 日頃の業務の中で遭遇するイシューをアウトプットし、新人同士で情報共有することで問題意識と解決能力を養います。日誌、日報とせず、イシューとすることで、問題意識を持たせることができると考えました。 ユーザーは、薬剤師のメンターと新人薬剤師を想定しています。 イシューを投稿し、コメントすることができます。また、解決・未解決の分類があり、メンターは未解決のイシューをフォローしたり、解決の方法に問題ないかチェックできます。
## 開発環境(言語)
- ruby 3.0.1
- rails 6.0.3
- jQuery 3.5.1
- Vue.js 2.6.14
- Bootstrap 4.5.0
- popper.js 1.16.0
- postgreSQL 14.2
## インフラ
- AWS S3
- SendGrid
- docker
## 技術
### ruby gem
- actioncable
- actiontext
- activerecord-import
- acts-as-taggable-on
- aws-sdk-s3
- bullet
- cancancan
- devise
- kaminari
- rails_admin
- ransack
- redis (>= 3, 5 <)
- rspec-rails
- sendgrid-ruby
- whenever
### javascript
- Vue.js(タグの入力フォームのみ)
- Vue-multiselect
- jQuery
- jscroll
### その他
- wheneverを用いて以下を毎日定期実行
+ attachされておらず作成びが1日以上前のファイルの削除
+ 28日以上経過した通知の削除
- github actionsを用いたCI
+ プルリクエストをする時、github actionsでRSpecが実行され、パスしないとmasterブランチにマージできない
## 主な機能
- ユーザー機能
* ユーザー作成/編集
* ユーザーデータのcsvインポート
* ユーザーログイン / ログアウト
* 管理者
- イシュー投稿機能
* 作成/編集/削除
* リッチテキストでの投稿
* 公開範囲設定
* 動的タグ付
- 検索・ソート機能
* ユーザーの検索、ソート
* イシューの検索、ソート
- コメント投稿機能
* 作成/編集/削除
* リッチテキストでの投稿
- いいね、ストック機能
* 作成/削除
- チャット機能(ドラフト版)
* リアルタイムチャット機能
## docker構成
| サーバー名 | 用途 |
|---|---|
| **db** | データベース用 |
| **web** | アプリケーション用 |
| **webpacker** | webpackのコンパイル用 |
| **minio** | ストレージ(S3互換)用 |
| **mc** | minioの初期設定用 |
| **redis** | アクションケーブル(チャット)のサブスクリプションアダプタ用 |
## AWS CDK
CDKのGitHubリンク: https://github.com/fumtas1k/issues_app_cdk
## 実行手順
このアプリは、最初にアカウント登録したユーザーに管理者権限が付与されます。
以下は全てターミナルでの操作になります(macでの操作)。
**1. hostsの追加**
まず、S3の代わりにdockerでminioを使用するため、minioのIPアドレスを読み替える必要があります。
webサーバーからは `http://minio:9000` でminioサーバーにアクセスしますが、ブラウザからは `http://localhost:9000` でアクセスするため、そのままでは保存した画像が表示できなかったり直接のアップロードができなかったりします。
```plain text
$ sudo vi /etc/hosts
```
パスワード入力が必要になります。
パソコンログイン時のパスワードを入力して下さい。
ファイルの中身が表示されたら、`i` キーを押して、編集できるようにします。
最終行の下に以下を追加。
```plain text
127.0.0.1 minio
```
`esc` キーを押して編集を終了し、`:wq`と入力し、エンターキーを押すと保存されます。これで、下準備完了です。
**2. 環境構築**
まず、githubからデータをクローンし、ディレクトリを移動し`.env`ファイルを作成します。
```plain text
$ git clone https://github.com/fumtas1k/issues_app.git
$ cd issues_app
$ touch .env
```
`.env`ファイルに、以下をコピーしイコールの右側を埋めて環境変数を設定します。`SENDGRID_API_KEY`はSEND GRIDに登録し、API KEYを入手して下さい。EMAILはご自分のメールアドレスを入力して下さい。パスワード再設定のみに必要なため設定しなくても問題はありません。
```plain text
SENDGRID_API_KEY =
SENDGRID_API_HOST = https://api.sendgrid.com
EMAIL =
```
`.env` ファイルの設定が終わったらコンテナを作成、起動するため以下を実行。
```plain text
$ docker-compose up -d
```
全てが立ち上がったら使用可能となります。
`http:127.0.0.1:3000` にアクセスして下さい(最初に立ち上げた時は、データベースの初期化等で時間がかかります)。
**3. ダミーデータ**
ダミーデータが欲しい場合は、ターミナルで以下を実行
```plain text
$ docker-compose run web rails db:seed
```
**4. サーバー内での作業**
dockerのwebサーバー内で作業したい場合は、ターミナルで以下を実行(他のサーバーに入りたい場合はwebの部分をdb, minio等に変更)。
```plain text
$ docker-compose exec web bush
```
**5. 停止したい場合**
```plain text
$ docker-compose stop
```
## 削除手順
一括削除するには、以下のコマンドをターミナルで実行。
コンテナ、イメージ、ボリューム、ネットワークが削除されます。
```plain text
$ docker-compose down --rmi all --volumes --remove-orphans
```
## カタログ設計
https://docs.google.com/spreadsheets/d/1TkFKai1BwqkoukUsm8eNM-FI5RmXw8tFM69eKMoSiRY/edit#gid=782464957
## テーブル定義書
https://docs.google.com/spreadsheets/d/1TkFKai1BwqkoukUsm8eNM-FI5RmXw8tFM69eKMoSiRY/edit#gid=2020033787
## ワイヤーフレーム
https://cacoo.com/diagrams/m03GB5prFCD9g9ma/CA3E3

## ER図

## 画面遷移図
