0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめての記事投稿
Qiita Engineer Festa20242024年7月17日まで開催中!

【個人開発】服用管理をする介護者向けのアプリ「medicine-checker」を開発しました【Rails】

Posted at

はじめに

初めまして、現在プログラミングスクールにてRuby on Railsをメインに学習しているikedaと申します。
7/2にアプリをリリースしたので、アプリ紹介と技術、感想をまとめさせていただきます。
初めて記事を書くのでお手柔らかにお願いします。

サービスURL

GitHub URL

開発背景

このサービスを作りたいと思ったきっかけは、私の父親が薬の服用管理が苦手で、薬を飲み忘れることが多かったからです。その結果、何度か救急車で病院に運ばれる事態にもなりました。この問題を解決したいと思い、薬の服用管理をアプリで行うことで、父親のように薬の服用を忘れるがちな人々の健康を守りたいと考えました。

機能・アプリ紹介

Image from Gyazo

新規登録 ログイン
Image from Gyazo Image from Gyazo
sorceryで会員登録・ログイン機能を実装しました。 メールアドレスで登録したユーザーはパスワードを再設定できます。
薬登録機能 検索機能
Image from Gyazo Image from Gyazo
薬や病院名、錠数や画像、服用期間や複数の服用タイミングを登録することができます。 ransackを使用して薬や病院名、服用タイミングをすぐに検索できるようにしています。
チェック機能 カレンダー
Image from Gyazo Image from Gyazo
服用した薬をチェックすると記録することができます。 カレンダー機能を追加することで、服用状況を視覚的に把握できるようにし、自己管理能力を高めることができます。また、家族や介護者もカレンダーを通じて服用状況を確認できるため、適切なサポートを提供しやすくなります。
メモ機能 リマインド機能
Image from Gyazo Image from Gyazo
家族の状態を薬と一緒に記録することで日々の変化を記録することができます。 毎日夜の9時にリマインド通知がLINEに送られてきます。

■技術スタック

カテゴリ コンテンツ技術
サーバーサイド Ruby on Rails ・Ruby
cssフレームワーク Tailwindcss + daisyUI
web API LINE Messaging API|
ファイルサーバー AWS S3
データベース PostgreSQL
アプリケーションサーバー heroku
バージョン管理ツール GitHub
その他 Docker・GoogleAnalytics

ER図

Image from Gyazo

技術選定理由

サーバーサイド
プログラミングスクールでRuby on Railsを中心に学習をしてきたため、学んできたことの総復習&理解をさらに深めるためにRuby on Railsを採用しました。
スクールのカリキュラムでは使うことのなかったGem(simple_calendar, line-bot-apiなど)を今回使用し、新たな収穫が多くありました。

フロントエンド

TailwindCSSとdaisyUIは、同じスクールに通っていた方が個人開発で使用しており、使ってみたいと思っていたのとコンポーネントとして必要な部分だけテンプレートをコピペで使用できるので開発速度向上に繋がると考え選びました。

インフラ・開発環境

Heroku

Herokuにはスケジュラーが無料で使えたのでリマインダー機能で使用したかったのと、初めてのアプリ開発でデプロイや運用ができるか不安があったため、 記事が豊富なHerokuを採用しました。

Docker環境

Dockerだと環境の共通化・統一化ができるのと、実務でも最近はよく使われていると聞いたので使い慣れておきたいと思い選びました。

こだわったところ

メモ機能

服用管理をする中で薬を飲み忘れていたなんてことが起こった時になぜ起きたのかを記録として残しておいて、後から医師に伝えたい場面がありました。そんな時に後から見返してなぜそれが起こったのかを記録することができるメモ機能を実装しました。

リマインダー機能

チェックを忘れないようにLINEから夜9時にリマインダー通知が届くようにしました。

UI/UX

ヘッダーやボタンなどにアイコンを表示させることによって直感的にわかるよう工夫しました。

反省点

操作手順が複雑で使いずらい

開発する前にFigmaで画面遷移図を作りユーザーが使いやすいように設計しました。
しかし、実装して行くにつれて画面遷移が思ったより複雑になり、使用しずらいと報告をいただきまいした。
もう少し画面遷移を直感的にする方法を勉強しようと反省しました。

今後の改善点

RSpec

テストコードがまだ書けていないので、RSpecを用いてモデルスペック、システムスペックのテストを書いていきたいです。

タブ

現在タブの切り替え時に同期通信で切り替えてるのですが、タブをアクティブ・非アクティブ化して、クリックされたら対象のタブをアクティブ化&タブに関連するHTMLをアクティブ化して表示する方が、ユーザーにとっては使いやすいと思うので今後改善していきたいです。

おわりに

初めての個人開発でREADME作成から画面遷移図、ER図、issue作成、全てが新鮮で良い経験になりました!
開発中何度もエラーにぶつかりましたが、講師の方々やみなさんの記事などのおかげでなんとか形にできて感謝の気持ちでいっぱいです!
おかげで開発することに対しての心理的ハードルが下げられたので、これからもいろんな技術に触れていきたいです。
最後まで読んでいただきありがとうございました!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?