[KIMOCHI]

June 4, 2024 · View on GitHub

readme_top

サービスURL

https://tranquil-reef-61954-2d3bbdfbb995.herokuapp.com/

サービスへの思い

私は趣味の麻雀をする際、友人を誘うと「特に予定はないけど、妻に言い出しづらい…」と回答されたことがあります。 別の友人は「特に予定がないから、1人キャンプに行こうとすると妻からあまりいい顔をされないから、なかなかキャンプに行けない」と言っていました。 共同生活を送っていると「なにか悪いことを実行しようとしているわけではないのに、それを行っていいのか相手に言いづらい」という状態になることがあると思います。 上記のような状態になってしまい「実行したいと言いにくい」という悩みを解決するために、実行したいことを行うための条件提示と、調整を行いながら、お互いにちょうど良い落とし所をつけるためのサービスです。

アプリケーションの利用フロー図

基本的にアプリユーザーは報酬(自分の実行したいこと、欲しい物etc...)を得るための、代価(なんらかの条件、任意で複数可能)を設定します。

graph TD
 A(AがBに報酬と代価を提示)-->B[Bが報酬と代価を精査]
 B-->|承諾| C[Aは代価を支払うことが可能になる]
 C-->|全代価支払後| D(Aは報酬を得ることが可能になる)
 D-->|報酬を得る| E(完了)

 B-->|不承諾| G(BはAに報酬と代価の再考を求める)
 G-->H(Aは報酬および代価を修正し再度Bに提示)
 H-->|不承諾| B

機能一覧

トップ画面
readme_toppage
LINEによる外部認証を実装
プロフィール詳細画面プレビュー画像
profile_showpreview
LINEアイコンが自動で自身のアイコンになるよう実装プレビュー画像表示機能実装
グループ作成画面グループ一覧画面
group_newgroup_index
新規グループ作成機能所属グループ一覧表示機能
グループ詳細画面
group_show
グループ詳細表示機能
招待リンク作成機能
invite_group
招待リンクを作成し、そのリンクに他ユーザーがアクセスするとグループに所属する機能を実装
リクエスト作成画面リクエスト一覧画面
request_newrequest_index
新規リクエスト作成機能状態別リクエスト一覧機能
リクエスト詳細画面リクエスト状態表示
request_showrequest_status
リクエスト詳細機能リクエストの状態を動的に表示する機能を実装
リアルタイムチャット画面リクエスト承認機能
realtime_chatapproval
リクエスト毎にリアルタイムチャット機能実装承認者によるリクエスト承認機能実装
タスク完了・完了取消機能リクエスト完了機能
task_conpleted_or_uncompletedrequest_completed
タスク完了・完了取消機能実装(リクエストが承諾された場合表示)リクエスト完了機能実装(タスクを全て完了した場合に出現)
完了リクエスト一覧画面
completed_request
グループ毎に完了したリクエスト一覧を表示する機能実装
個人リクエスト一覧画面
personal_request
ユーザー毎に作成したリクエスト一覧を表示する機能実装
LINEプッシュ通知画面
push_mini
報酬の実行予定日当日8時にLINEプッシュ通知機能実装

使用技術

CategoryTechnology Stack
BackendRuby(3.2.2), Ruby on Rails(7.0.8)
FrontendStimulus(3.2.2), Tailwind CSS(3.3.6), DaisyUI(3.9.4)
InfrastructureHeroku
DatabasePostgreSQL
CI/CDGitHub Actions(自動デプロイ)
etc.Docker, RuboCop, RSpec, Git, GitHub

GEM

  • device(ログイン・認証機能)
  • omniauth-line, omniauth-rails_csrf_protection(LINEログイン)
  • line_bot_api(LINEプッシュ通知)
  • delayed_job_active_record(招待リンクの時限式削除)
  • action_cable(リアルタイムチャット)
  • kaminari(ページネーション)
  • ActiveStorage(ファイルアップロード、保存)
  • activestorage-validator(アップロードされるファイルのバリデーション設定)
  • image_processing(画像リサイズ、ファイル容量一律化)
  • RSpec(テスト)
  • rubocop(lintチェック)

画面遷移図

figma

ER図

Image from Gyazo